diff options
44 files changed, 27082 insertions, 8728 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index 9f9fef042..4ea13f5ba 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -3,7 +3,7 @@ vim9script # Vim functions for file type detection # # Maintainer: Bram Moolenaar <Bram@vim.org> -# Last Change: 2022 Feb 05 +# Last Change: 2022 Feb 22 # These functions are moved here from runtime/filetype.vim to make startup # faster. diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile index de986a621..367804087 100644 --- a/runtime/doc/Makefile +++ b/runtime/doc/Makefile @@ -153,6 +153,7 @@ DOCS = \ version6.txt \ version7.txt \ version8.txt \ + version9.txt \ vi_diff.txt \ vim9.txt \ visual.txt \ @@ -298,6 +299,7 @@ HTMLS = \ version6.html \ version7.html \ version8.html \ + version9.html \ vi_diff.html \ vimindex.html \ vim9.html \ diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index ebb619774..2a5f5fd73 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1639,7 +1639,7 @@ Examples for reading and writing compressed files: > : autocmd BufReadPre,FileReadPre *.gz set bin : autocmd BufReadPost,FileReadPost *.gz '[,']!gunzip : autocmd BufReadPost,FileReadPost *.gz set nobin - : autocmd BufReadPost,FileReadPost *.gz execute ":doautocmd BufReadPost " . expand("%:r") + : autocmd BufReadPost,FileReadPost *.gz execute ":doautocmd BufReadPost " .. expand("%:r") : autocmd BufWritePost,FileWritePost *.gz !mv <afile> <afile>:r : autocmd BufWritePost,FileWritePost *.gz !gzip <afile>:r @@ -1738,7 +1738,7 @@ To insert the current date and time in a *.html file when writing it: > : else : let l = line("$") : endif - : exe "1," . l . "g/Last modified: /s/Last modified: .*/Last modified: " . + : exe "1," .. l .. "g/Last modified: /s/Last modified: .*/Last modified: " .. : \ strftime("%Y %b %d") :endfun diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index c3bacf940..23756831b 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -1,4 +1,4 @@ -*builtin.txt* For Vim version 8.2. Last change: 2022 Feb 18 +*builtin.txt* For Vim version 8.2. Last change: 2022 Feb 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -854,7 +854,7 @@ argv([{nr} [, {winid}]]) :let i = 0 :while i < argc() : let f = escape(fnameescape(argv(i)), '.') - : exe 'amenu Arg.' . f . ' :e ' . f . '<CR>' + : exe 'amenu Arg.' .. f .. ' :e ' .. f .. '<CR>' : let i = i + 1 :endwhile < Without the {nr} argument, or when {nr} is -1, a |List| with @@ -1134,7 +1134,7 @@ bufwinid({buf}) *bufwinid()* see |bufname()| above. If buffer {buf} doesn't exist or there is no such window, -1 is returned. Example: > - echo "A window containing buffer 1 is " . (bufwinid(1)) + echo "A window containing buffer 1 is " .. (bufwinid(1)) < Only deals with the current tab page. @@ -1147,7 +1147,7 @@ bufwinnr({buf}) *bufwinnr()* If buffer {buf} doesn't exist or there is no such window, -1 is returned. Example: > - echo "A window containing buffer 1 is " . (bufwinnr(1)) + echo "A window containing buffer 1 is " .. (bufwinnr(1)) < The number can be used with |CTRL-W_w| and ":wincmd w" |:wincmd|. @@ -1197,7 +1197,7 @@ byteidx({expr}, {nr}) *byteidx()* byteidxcomp({expr}, {nr}) *byteidxcomp()* Like byteidx(), except that a composing character is counted as a separate character. Example: > - let s = 'e' . nr2char(0x301) + let s = 'e' .. nr2char(0x301) echo byteidx(s, 1) echo byteidxcomp(s, 1) echo byteidxcomp(s, 2) @@ -1392,7 +1392,7 @@ col({expr}) The result is a Number, which is the byte index of the column col(".") column of cursor col("$") length of cursor line plus one col("'t") column of mark t - col("'" . markname) column of mark markname + col("'" .. markname) column of mark markname < The first column is 1. 0 is returned for an error. For an uppercase mark the column may actually be in another buffer. @@ -1401,7 +1401,7 @@ col({expr}) The result is a Number, which is the byte index of the column line. This can be used to obtain the column in Insert mode: > :imap <F2> <C-O>:let save_ve = &ve<CR> \<C-O>:set ve=all<CR> - \<C-O>:echo col(".") . "\n" <Bar> + \<C-O>:echo col(".") .. "\n" <Bar> \let &ve = save_ve<CR> < Can also be used as a |method|: > @@ -2247,12 +2247,12 @@ expand({string} [, {nosuf} [, {list}]]) *expand()* :e extension only Example: > - :let &tags = expand("%:p:h") . "/tags" + :let &tags = expand("%:p:h") .. "/tags" < Note that when expanding a string that starts with '%', '#' or '<', any following text is ignored. This does NOT work: > :let doesntwork = expand("%:h.bak") < Use this: > - :let doeswork = expand("%:h") . ".bak" + :let doeswork = expand("%:h") .. ".bak" < Also note that expanding "<cfile>" and others only returns the referenced file name without further expansion. If "<cfile>" is "~/.cshrc", you need to do another expand() to have the @@ -2633,7 +2633,7 @@ fnameescape({string}) *fnameescape()* and |:write|). And a "-" by itself (special after |:cd|). Example: > :let fname = '+some str%nge|name' - :exe "edit " . fnameescape(fname) + :exe "edit " .. fnameescape(fname) < results in executing: > edit \+some\ str\%nge\|name < @@ -2814,7 +2814,7 @@ function({name} [, {arglist}] [, {dict}]) < The Dictionary is only useful when calling a "dict" function. In that case the {dict} is passed in as "self". Example: > function Callback() dict - echo "called for " . self.name + echo "called for " .. self.name endfunction ... let context = {"name": "example"} @@ -3013,7 +3013,7 @@ getbufvar({buf}, {varname} [, {def}]) *getbufvar()* string is returned, there is no error message. Examples: > :let bufmodified = getbufvar(1, "&mod") - :echo "todo myvar = " . getbufvar("todo", "myvar") + :echo "todo myvar = " .. getbufvar("todo", "myvar") < Can also be used as a |method|: > GetBufnr()->getbufvar(varname) @@ -3074,9 +3074,9 @@ getchar([expr]) *getchar()* This example positions the mouse as it would normally happen: > let c = getchar() if c == "\<LeftMouse>" && v:mouse_win > 0 - exe v:mouse_win . "wincmd w" + exe v:mouse_win .. "wincmd w" exe v:mouse_lnum - exe "normal " . v:mouse_col . "|" + exe "normal " .. v:mouse_col .. "|" endif < When using bracketed paste only the first character is @@ -3873,7 +3873,7 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()* empty string is returned, there is no error message. Examples: > :let list_is_on = gettabwinvar(1, 2, '&list') - :echo "myvar = " . gettabwinvar(3, 1, 'myvar') + :echo "myvar = " .. gettabwinvar(3, 1, 'myvar') < To obtain all window-local variables use: > gettabwinvar({tabnr}, {winnr}, '&') @@ -4006,7 +4006,7 @@ getwinvar({winnr}, {varname} [, {def}]) *getwinvar()* Like |gettabwinvar()| for the current tabpage. Examples: > :let list_is_on = getwinvar(2, '&list') - :echo "myvar = " . getwinvar(1, 'myvar') + :echo "myvar = " .. getwinvar(1, 'myvar') < Can also be used as a |method|: > GetWinnr()->getwinvar(varname) @@ -4261,7 +4261,7 @@ histdel({history} [, {item}]) *histdel()* The following three are equivalent: > :call histdel("search", histnr("search")) :call histdel("search", -1) - :call histdel("search", '^'.histget("search", -1).'$') + :call histdel("search", '^' .. histget("search", -1) .. '$') < To delete the last search pattern and use the last-but-one for the "n" command and 'hlsearch': > @@ -4280,7 +4280,7 @@ histget({history} [, {index}]) *histget()* Examples: Redo the second last search from history. > - :execute '/' . histget("search", -2) + :execute '/' .. histget("search", -2) < Define an Ex command ":H {num}" that supports re-execution of the {num}th entry from the output of |:history|. > @@ -4526,7 +4526,7 @@ input({prompt} [, {text} [, {completion}]]) *input()* |:execute| or |:normal|. Example with a mapping: > - :nmap \x :call GetFoo()<CR>:exe "/" . Foo<CR> + :nmap \x :call GetFoo()<CR>:exe "/" .. Foo<CR> :function GetFoo() : call inputsave() : let g:Foo = input("enter search pattern: ") @@ -4700,7 +4700,7 @@ items({dict}) *items()* order. Also see |keys()| and |values()|. Example: > for [key, value] in items(mydict) - echo key . ': ' . value + echo key .. ': ' .. value endfor < Can also be used as a |method|: > @@ -4715,7 +4715,7 @@ join({list} [, {sep}]) *join()* {sep} is omitted a single space is used. Note that {sep} is not added at the end. You might want to add it there too: > - let lines = join(mylist, "\n") . "\n" + let lines = join(mylist, "\n") .. "\n" < String items are used as-is. |Lists| and |Dictionaries| are converted into a string like with |string()|. The opposite function is |split()|. @@ -4927,7 +4927,7 @@ line({expr} [, {winid}]) *line()* line(".") line number of the cursor line(".", winid) idem, in window "winid" line("'t") line number of mark t - line("'" . marker) line number of mark marker + line("'" .. marker) line number of mark marker < To jump to the last known position when opening a file see |last-position-jump|. @@ -5161,7 +5161,7 @@ map({expr1}, {expr2}) *map()* current byte. For a |String| |v:key| has the index of the current character. Example: > - :call map(mylist, '"> " . v:val . " <"') + :call map(mylist, '"> " .. v:val .. " <"') < This puts "> " before and " <" after each item in "mylist". Note that {expr2} is the result of an expression and is then @@ -5175,19 +5175,19 @@ map({expr1}, {expr2}) *map()* The function must return the new value of the item. Example that changes each value by "key-value": > func KeyValue(key, val) - return a:key . '-' . a:val + return a:key .. '-' .. a:val endfunc call map(myDict, function('KeyValue')) < It is shorter when using a |lambda|: > - call map(myDict, {key, val -> key . '-' . val}) + call map(myDict, {key, val -> key .. '-' .. val}) < If you do not use "val" you can leave it out: > - call map(myDict, {key -> 'item: ' . key}) + call map(myDict, {key -> 'item: ' .. key}) < If you do not use "key" you can use a short name: > - call map(myDict, {_, val -> 'item: ' . val}) + call map(myDict, {_, val -> 'item: ' .. val}) < The operation is done in-place for a |List| and |Dictionary|. If you want it to remain unmodified make a copy first: > - :let tlist = map(copy(mylist), ' v:val . "\t"') + :let tlist = map(copy(mylist), ' v:val .. "\t"') < Returns {expr1}, the |List| or |Dictionary| that was filtered, or a new |Blob| or |String|. @@ -5263,7 +5263,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()* then the global mappings. This function can be used to map a key even when it's already mapped, and have it do the original mapping too. Sketch: > - exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n') + exe 'nnoremap <Tab> ==' .. maparg('<Tab>', 'n') < Can also be used as a |method|: > GetKey()->maparg('n') @@ -5786,7 +5786,7 @@ mkdir({name} [, {path} [, {prot}]]) {name}. Thus if you create /tmp/foo/bar then /tmp/foo will be created with 0o755. Example: > - :call mkdir($HOME . "/tmp/foo/bar", "p", 0o700) + :call mkdir($HOME .. "/tmp/foo/bar", "p", 0o700) < This function is not available in the |sandbox|. @@ -6227,7 +6227,7 @@ prompt_setcallback({buf}, {expr}) *prompt_setcallback()* stopinsert close else - call append(line('$') - 1, 'Entered: "' . a:text . '"') + call append(line('$') - 1, 'Entered: "' .. a:text .. '"') " Reset 'modified' to allow the buffer to be closed. set nomodified endif @@ -6424,7 +6424,7 @@ readdir({directory} [, {expr} [, {dict}]]) *readdir()* function! s:tree(dir) return {a:dir : map(readdir(a:dir), \ {_, x -> isdirectory(x) ? - \ {x : s:tree(a:dir . '/' . x)} : x})} + \ {x : s:tree(a:dir .. '/' .. x)} : x})} endfunction echo s:tree(".") < @@ -6686,7 +6686,7 @@ remote_peek({serverid} [, {retvar}]) *remote_peek()* {only available when compiled with the |+clientserver| feature} Examples: > :let repl = "" - :echo "PEEK: ".remote_peek(id, "repl").": ".repl + :echo "PEEK: " .. remote_peek(id, "repl") .. ": " .. repl < Can also be used as a |method|: > ServerId()->remote_peek() @@ -6724,12 +6724,12 @@ remote_send({server}, {string} [, {idvar}]) Note: Any errors will be reported in the server and may mess up the display. Examples: > - :echo remote_send("gvim", ":DropAndReply ".file, "serverid"). + :echo remote_send("gvim", ":DropAndReply " .. file, "serverid") .. \ remote_read(serverid) :autocmd NONE RemoteReply * \ echo remote_read(expand("<amatch>")) - :echo remote_send("gvim", ":sleep 10 | echo ". + :echo remote_send("gvim", ":sleep 10 | echo " .. \ 'server2client(expand("<client>"), "HELLO")<CR>') < Can also be used as a |method|: > @@ -6754,7 +6754,7 @@ remove({list}, {idx} [, {end}]) *remove()* points to an item before {idx} this is an error. See |list-index| for possible values of {idx} and {end}. Example: > - :echo "last item: " . remove(mylist, -1) + :echo "last item: " .. remove(mylist, -1) :call remove(mylist, 0, 9) < Use |delete()| to remove a file. @@ -6770,13 +6770,13 @@ remove({blob}, {idx} [, {end}]) byte as {end} a |Blob| with one byte is returned. When {end} points to a byte before {idx} this is an error. Example: > - :echo "last byte: " . remove(myblob, -1) + :echo "last byte: " .. remove(myblob, -1) :call remove(mylist, 0, 9) remove({dict}, {key}) Remove the entry from {dict} with key {key} and return it. Example: > - :echo "removed " . remove(dict, "one") + :echo "removed " .. remove(dict, "one") < If there is no {key} in {dict} this is an error. rename({from}, {to}) *rename()* @@ -6907,7 +6907,7 @@ screencol() *screencol()* column inside the command line, which is 1 when the command is executed. To get the cursor position in the file use one of the following mappings: > - nnoremap <expr> GG ":echom ".screencol()."\n" + nnoremap <expr> GG ":echom " .. screencol() .. "\n" nnoremap <silent> GG :echom screencol()<CR> nnoremap GG <Cmd>echom screencol()<CR> < @@ -7031,7 +7031,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]]) Example (goes over all files in the argument list): > :let n = 1 :while n <= argc() " loop over all files in arglist - : exe "argument " . n + : exe "argument " .. n : " start at the last char in the file and wrap for the : " first search to find match at start of file : normal G$ @@ -7115,11 +7115,11 @@ searchcount([{options}]) *searchcount()* return printf(' /%s [%d/%d]', @/, \ result.current, result.total) endfunction - let &statusline .= '%{LastSearchCount()}' + let &statusline ..= '%{LastSearchCount()}' " Or if you want to show the count only when " 'hlsearch' was on - " let &statusline .= + " let &statusline ..= " \ '%{v:hlsearch ? LastSearchCount() : ""}' < You can also update the search count, which can be useful in a @@ -7943,10 +7943,10 @@ shellescape({string} [, {special}]) *shellescape()* character inside single quotes. Example of use with a |:!| command: > - :exe '!dir ' . shellescape(expand('<cfile>'), 1) + :exe '!dir ' .. shellescape(expand('<cfile>'), 1) < This results in a directory listing for the file under the cursor. Example of use with |system()|: > - :call system("chmod +w -- " . shellescape(expand("%"))) + :call system("chmod +w -- " .. shellescape(expand("%"))) < See also |::S|. Can also be used as a |method|: > @@ -8719,7 +8719,7 @@ substitute({string}, {pat}, {sub}, {flags}) *substitute()* When {sub} starts with "\=", the remainder is interpreted as an expression. See |sub-replace-expression|. Example: > :echo substitute(s, '%\(\x\x\)', - \ '\=nr2char("0x" . submatch(1))', 'g') + \ '\=nr2char("0x" .. submatch(1))', 'g') < When {sub} is a Funcref that function is called, with one optional argument. Example: > @@ -8727,7 +8727,7 @@ substitute({string}, {pat}, {sub}, {flags}) *substitute()* < The optional argument is a list which contains the whole matched string and up to nine submatches, like what |submatch()| returns. Example: > - :echo substitute(s, '%\(\x\x\)', {m -> '0x' . m[1]}, 'g') + :echo substitute(s, '%\(\x\x\)', {m -> '0x' .. m[1]}, 'g') < Can also be used as a |method|: > GetString()->substitute(pat, sub, flags) @@ -8916,8 +8916,8 @@ system({expr} [, {input}]) *system()* *E677* This is not to be used for interactive commands. The result is a String. Example: > - :let files = system("ls " . shellescape(expand('%:h'))) - :let files = system('ls ' . expand('%:h:S')) + :let files = system('ls ' .. shellescape(expand('%:h'))) + :let files = system('ls ' .. expand('%:h:S')) < To make the result more system-independent, the shell output is filtered to replace <CR> with <NL> for Macintosh, and @@ -9098,7 +9098,7 @@ tempname() *tempname()* *temp-file-name* doesn't exist. It can be used for a temporary file. The name is different for at least 26 consecutive calls. Example: > :let tmpfile = tempname() - :exe "redir > " . tmpfile + :exe "redir > " .. tmpfile < For Unix, the file will be in a private directory |tempfile|. For MS-Windows forward slashes are used when the 'shellslash' option is set, or when 'shellcmdflag' starts with '-' and @@ -9295,7 +9295,7 @@ trim({text} [, {mask} [, {dir}]]) *trim()* Examples: > echo trim(" some text ") < returns "some text" > - echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL" + echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") .. "_TAIL" < returns "RESERVE_TAIL" > echo trim("rm<Xrm<>X>rrm", "rm<>") < returns "Xrm<>X" (characters in the middle are not removed) > @@ -9486,7 +9486,7 @@ visualmode([{expr}]) *visualmode()* character-wise, line-wise, or block-wise Visual mode respectively. Example: > - :exe "normal " . visualmode() + :exe "normal " .. visualmode() < This enters the same Visual mode as before. It is also useful in scripts if you wish to act differently depending on the Visual mode that was used. @@ -9690,7 +9690,7 @@ winheight({nr}) *winheight()* An existing window always has a height of zero or more. This excludes any window toolbar line. Examples: > - :echo "The current window has " . winheight(0) . " lines." + :echo "The current window has " .. winheight(0) .. " lines." < Can also be used as a |method|: > GetWinid()->winheight() @@ -9831,7 +9831,7 @@ winwidth({nr}) *winwidth()* returned. When window {nr} doesn't exist, -1 is returned. An existing window always has a width of zero or more. Examples: > - :echo "The current window has " . winwidth(0) . " columns." + :echo "The current window has " .. winwidth(0) .. " columns." :if winwidth(0) <= 50 : 50 wincmd | :endif diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index d72e689ca..04d536cad 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -946,7 +946,7 @@ Consider using a character like "@" or ":". There is no problem if the result of the expression contains the separation character. Examples: > - :s@\n@\="\r" . expand("$HOME") . "\r"@ + :s@\n@\="\r" .. expand("$HOME") .. "\r"@ This replaces an end-of-line with a new line containing the value of $HOME. > s/E/\="\<Char-0x20ac>"/g @@ -1123,7 +1123,7 @@ inside of strings can change! Also see 'softtabstop' option. > the command. You need to escape the '|' and '"' characters to prevent them from terminating the command. Example: > - :put ='path' . \",/test\" + :put ='path' .. \",/test\" < If there is no expression after '=', Vim uses the previous expression. You can see it with ":dis =". diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt index 6124a8945..0e95cd233 100644 --- a/runtime/doc/channel.txt +++ b/runtime/doc/channel.txt @@ -91,7 +91,7 @@ And you should see the message in Vim. You can move the cursor a word forward: To handle asynchronous communication a callback needs to be used: > func MyHandler(channel, msg) - echo "from the handler: " . a:msg + echo "from the handler: " .. a:msg endfunc call ch_sendexpr(channel, 'hello!', {'callback': "MyHandler"}) Vim will not wait for a response. Now the server can send the response later @@ -136,7 +136,7 @@ When using an IPv6 address, enclose it within square brackets. E.g., gets two arguments: the channel and the received message. Example: > func Handle(channel, msg) - echo 'Received: ' . a:msg + echo 'Received: ' .. a:msg endfunc let channel = ch_open("localhost:8765", {"callback": "Handle"}) < @@ -1296,7 +1296,7 @@ prompt. > " Function handling output from the shell: Added above the prompt. func GotOutput(channel, msg) - call append(line("$") - 1, "- " . a:msg) + call append(line("$") - 1, "- " .. a:msg) endfunc " Function handling the shell exist: close the window. diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index ad862bfbe..0867c47fa 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -227,7 +227,7 @@ CTRL-\ e {expr} *c_CTRL-\_e* Example: > :cmap <F7> <C-\>eAppendSome()<CR> :func AppendSome() - :let cmd = getcmdline() . " Some()" + :let cmd = getcmdline() .. " Some()" :" place the cursor on the ) :call setcmdpos(strlen(cmd)) :return cmd diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index d72f37ea4..fad680148 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -382,13 +382,13 @@ Example (this does almost the same as 'diffexpr' being empty): > function MyDiff() let opt = "" if &diffopt =~ "icase" - let opt = opt . "-i " + let opt = opt .. "-i " endif if &diffopt =~ "iwhite" - let opt = opt . "-b " + let opt = opt .. "-b " endif - silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new . - \ " > " . v:fname_out + silent execute "!diff -a --binary " .. opt .. v:fname_in .. " " .. v:fname_new .. + \ " > " .. v:fname_out redraw! endfunction @@ -445,8 +445,8 @@ Example (this does the same as 'patchexpr' being empty): > set patchexpr=MyPatch() function MyPatch() - :call system("patch -o " . v:fname_out . " " . v:fname_in . - \ " < " . v:fname_diff) + :call system("patch -o " .. v:fname_out .. " " .. v:fname_in .. + \ " < " .. v:fname_diff) endfunction Make sure that using the "patch" program doesn't have unwanted side effects. diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index 0d11facca..10ea78381 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -444,9 +444,9 @@ does apply like to other wildcards. Environment variables in the expression are expanded when evaluating the expression, thus this works: > - :e `=$HOME . '/.vimrc'` + :e `=$HOME .. '/.vimrc'` This does not work, $HOME is inside a string and used literally: > - :e `='$HOME' . '/.vimrc'` + :e `='$HOME' .. '/.vimrc'` If the expression returns a string then names are to be separated with line breaks. When the result is a |List| then each item is used as a name. Line diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index f349dd278..87edd49ec 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.2. Last change: 2022 Feb 20 +*eval.txt* For Vim version 8.2. Last change: 2022 Feb 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -470,7 +470,7 @@ It is also possible to put remaining items in a List variable: > :for [i, j; rest] in listlist : call Doit(i, j) : if !empty(rest) - : echo "remainder: " . string(rest) + : echo "remainder: " .. string(rest) : endif :endfor @@ -498,11 +498,11 @@ Functions that are useful with a List: > :let list = split("a b c") " create list from items in a string :let string = join(list, ', ') " create string from list items :let s = string(list) " String representation of list - :call map(list, '">> " . v:val') " prepend ">> " to each item + :call map(list, '">> " .. v:val') " prepend ">> " to each item Don't forget that a combination of features can make things simple. For example, to add up all the numbers in a list: > - :exe 'let sum = ' . join(nrlist, '+') + :exe 'let sum = ' .. join(nrlist, '+') 1.4 Dictionaries ~ @@ -568,7 +568,7 @@ turn the Dictionary into a List and pass it to |:for|. Most often you want to loop over the keys, using the |keys()| function: > :for key in keys(mydict) - : echo key . ': ' . mydict[key] + : echo key .. ': ' .. mydict[key] :endfor The List of keys is unsorted. You may want to sort them first: > @@ -576,13 +576,13 @@ The List of keys is unsorted. You may want to sort them first: > To loop over the values use the |values()| function: > :for v in values(mydict) - : echo "value: " . v + : echo "value: " .. v :endfor If you want both the key and the value use the |items()| function. It returns a List in which each item is a List with two items, the key and the value: > :for [key, value] in items(mydict) - : echo key . ': ' . value + : echo key .. ': ' .. value :endfor @@ -677,7 +677,7 @@ Functions that can be used with a Dictionary: > :let small = min(dict) " minimum value in dict :let xs = count(dict, 'x') " count nr of times 'x' appears in dict :let s = string(dict) " String representation of dict - :call map(dict, '">> " . v:val') " prepend ">> " to each item + :call map(dict, '">> " .. v:val') " prepend ">> " to each item 1.5 Blobs ~ @@ -921,13 +921,13 @@ Expression nesting is limited to 1000 levels deep (300 when build with MSVC) to avoid running out of stack and crashing. *E1169* -expr1 *expr1* *trinary* *falsy-operator* *??* *E109* +expr1 *expr1* *ternary* *falsy-operator* *??* *E109* ----- -The trinary operator: expr2 ? expr1 : expr1 +The ternary operator: expr2 ? expr1 : expr1 The falsy operator: expr2 ?? expr1 -Trinary operator ~ +Ternary operator ~ In legacy script the expression before the '?' is evaluated to a number. If it evaluates to |TRUE|, the result is the value of the expression between the @@ -1530,7 +1530,7 @@ option *expr-option* *E112* *E113* &l:option local option value Examples: > - echo "tabstop is " . &tabstop + echo "tabstop is " .. &tabstop if &insertmode Any option name can be used here. See |options|. When using the local value @@ -1820,7 +1820,7 @@ maintain a counter: > echo "script executed for the first time" else let s:counter = s:counter + 1 - echo "script executed " . s:counter . " times now" + echo "script executed " .. s:counter .. " times now" endif Note that this means that filetype plugins don't get a different set of script @@ -1955,7 +1955,7 @@ v:completed_item *v:count* *count-variable* v:count The count given for the last Normal mode command. Can be used to get the count before a mapping. Read-only. Example: > - :map _x :<C-U>echo "the count is " . v:count<CR> + :map _x :<C-U>echo "the count is " .. v:count<CR> < Note: The <C-U> is required to remove the line range that you get when typing ':' after a count. When there are two counts, as in "3d2w", they are multiplied, @@ -2829,9 +2829,9 @@ Example: > : echohl Title : echo a:title : echohl None - : echo a:0 . " items:" + : echo a:0 .. " items:" : for s in a:000 - : echon ' ' . s + : echon ' ' .. s : endfor :endfunction @@ -2874,7 +2874,7 @@ This function can then be called with: > this works: *function-range-example* > :function Mynumber(arg) - : echo line(".") . " " . a:arg + : echo line(".") .. " " .. a:arg :endfunction :1,5call Mynumber(getline(".")) < @@ -2885,7 +2885,7 @@ This function can then be called with: > Example of a function that handles the range itself: > :function Cont() range - : execute (a:firstline + 1) . "," . a:lastline . 's/^/\t\\ ' + : execute (a:firstline + 1) .. "," .. a:lastline .. 's/^/\t\\ ' :endfunction :4,8call Cont() < @@ -3077,7 +3077,7 @@ declarations and assignments do not use a command. |vim9-declaration| This cannot be used to add an item to a |List|. This cannot be used to set a byte in a String. You can do that like this: > - :let var = var[0:2] . 'X' . var[4:] + :let var = var[0:2] .. 'X' .. var[4:] < When {var-name} is a |Blob| then {idx} can be the length of the blob, in which case one byte is appended. @@ -3147,7 +3147,7 @@ declarations and assignments do not use a command. |vim9-declaration| is just like using the |:set| command: both the local value and the global value are changed. Example: > - :let &path = &path . ',/usr/local/include' + :let &path = &path .. ',/usr/local/include' < This also works for terminal codes in the form t_xx. But only for alphanumerical names. Example: > :let &t_k1 = "\<Esc>[234;" @@ -3425,6 +3425,8 @@ text... :if {expr1} *:if* *:end* *:endif* *:en* *E171* *E579* *E580* :en[dif] Execute the commands until the next matching ":else" or ":endif" if {expr1} evaluates to non-zero. + Although the short forms work, it is recommended to + always use `:endif` to avoid confusion. From Vim version 4.5 until 5.0, every Ex command in between the ":if" and ":endif" is ignored. These two @@ -4028,7 +4030,7 @@ exception most recently caught as long it is not finished. :function! Caught() : if v:exception != "" - : echo 'Caught "' . v:exception . '" in ' . v:throwpoint + : echo 'Caught "' . v:exception .. '" in ' .. v:throwpoint : else : echo 'Nothing caught' : endif @@ -4431,8 +4433,8 @@ a script in order to catch unexpected things. :catch /^Vim:Interrupt$/ : echo "Script interrupted" :catch /.*/ - : echo "Internal error (" . v:exception . ")" - : echo " - occurred at " . v:throwpoint + : echo "Internal error (" .. v:exception .. ")" + : echo " - occurred at " .. v:throwpoint :endtry :" end of script @@ -4628,7 +4630,7 @@ parentheses can be cut out from |v:exception| with the ":substitute" command. :function! CheckRange(a, func) : if a:a < 0 - : throw "EXCEPT:MATHERR:RANGE(" . a:func . ")" + : throw "EXCEPT:MATHERR:RANGE(" .. a:func .. ")" : endif :endfunction : @@ -4655,7 +4657,7 @@ parentheses can be cut out from |v:exception| with the ":substitute" command. : try : execute "write" fnameescape(a:file) : catch /^Vim(write):/ - : throw "EXCEPT:IO(" . getcwd() . ", " . a:file . "):WRITEERR" + : throw "EXCEPT:IO(" .. getcwd() .. ", " .. a:file .. "):WRITEERR" : endtry :endfunction : @@ -4674,9 +4676,9 @@ parentheses can be cut out from |v:exception| with the ":substitute" command. : let dir = substitute(v:exception, '.*(\(.\+\),\s*.\+).*', '\1', "") : let file = substitute(v:exception, '.*(.\+,\s*\(.\+\)).*', '\1', "") : if file !~ '^/' - : let file = dir . "/" . file + : let file = dir .. "/" .. file : endif - : echo 'I/O error for "' . file . '"' + : echo 'I/O error for "' .. file .. '"' : :catch /^EXCEPT/ : echo "Unspecified error" @@ -4744,7 +4746,7 @@ clauses, however, is executed. : echo "inner finally" : endtry :catch - : echo 'outer catch-all caught "' . v:exception . '"' + : echo 'outer catch-all caught "' .. v:exception .. '"' : finally : echo "outer finally" :endtry @@ -4806,7 +4808,7 @@ Printing in Binary ~ : let n = a:nr : let r = "" : while n - : let r = '01'[n % 2] . r + : let r = '01'[n % 2] .. r : let n = n / 2 : endwhile : return r @@ -4817,7 +4819,7 @@ Printing in Binary ~ :func String2Bin(str) : let out = '' : for ix in range(strlen(a:str)) - : let out = out . '-' . Nr2Bin(char2nr(a:str[ix])) + : let out = out .. '-' .. Nr2Bin(char2nr(a:str[ix])) : endfor : return out[1:] :endfunc diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt index 5bcadda65..cda390252 100644 --- a/runtime/doc/fold.txt +++ b/runtime/doc/fold.txt @@ -507,7 +507,7 @@ Note the use of backslashes to avoid some characters to be interpreted by the :function MyFoldText() : let line = getline(v:foldstart) : let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g') - : return v:folddashes . sub + : return v:folddashes .. sub :endfunction Evaluating 'foldtext' is done in the |sandbox|. The current window is set to diff --git a/runtime/doc/ft_raku.txt b/runtime/doc/ft_raku.txt index 00b140ee9..3d1179ed4 100644 --- a/runtime/doc/ft_raku.txt +++ b/runtime/doc/ft_raku.txt @@ -47,20 +47,20 @@ Numbers, subscripts and superscripts are available with 's' and 'S': But some don't come defined by default. Those are digraph definitions you can add in your ~/.vimrc file. > - exec 'digraph \\ '.char2nr('∖') - exec 'digraph \< '.char2nr('≼') - exec 'digraph \> '.char2nr('≽') - exec 'digraph (L '.char2nr('⊈') - exec 'digraph )L '.char2nr('⊉') - exec 'digraph (/ '.char2nr('⊄') - exec 'digraph )/ '.char2nr('⊅') - exec 'digraph )/ '.char2nr('⊅') - exec 'digraph U+ '.char2nr('⊎') - exec 'digraph 0- '.char2nr('⊖') + exec 'digraph \\ ' .. char2nr('∖') + exec 'digraph \< ' .. char2nr('≼') + exec 'digraph \> ' .. char2nr('≽') + exec 'digraph (L ' .. char2nr('⊈') + exec 'digraph )L ' .. char2nr('⊉') + exec 'digraph (/ ' .. char2nr('⊄') + exec 'digraph )/ ' .. char2nr('⊅') + exec 'digraph )/ ' .. char2nr('⊅') + exec 'digraph U+ ' .. char2nr('⊎') + exec 'digraph 0- ' .. char2nr('⊖') " Euler's constant - exec 'digraph ne '.char2nr('𝑒') + exec 'digraph ne ' .. char2nr('𝑒') " Raku's atomic operations marker - exec 'digraph @@ '.char2nr('⚛') + exec 'digraph @@ ' .. char2nr('⚛') Alternatively, you can write Insert mode abbreviations that convert ASCII- based operators into their single-character Unicode equivalent. > diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt index 138e60dec..d2fc6ddc8 100644 --- a/runtime/doc/ft_rust.txt +++ b/runtime/doc/ft_rust.txt @@ -26,7 +26,7 @@ behavior of the plugin. g:rustc_path~ Set this option to the path to rustc for use in the |:RustRun| and |:RustExpand| commands. If unset, "rustc" will be located in $PATH: > - let g:rustc_path = $HOME."/bin/rustc" + let g:rustc_path = $HOME .. "/bin/rustc" < *g:rustc_makeprg_no_percent* @@ -87,7 +87,7 @@ g:rust_bang_comment_leader~ g:ftplugin_rust_source_path~ Set this option to a path that should be prepended to 'path' for Rust source files: > - let g:ftplugin_rust_source_path = $HOME.'/dev/rust' + let g:ftplugin_rust_source_path = $HOME .. '/dev/rust' < *g:rustfmt_command* diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt index 9a7a6e7f5..a428f11b8 100644 --- a/runtime/doc/ft_sql.txt +++ b/runtime/doc/ft_sql.txt @@ -109,8 +109,8 @@ must be configurable. The filetype plugin attempts to define many of the standard objects, plus many additional ones. In order to make this as flexible as possible, you can override the list of objects from within your |vimrc| with the following: > - let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' . - \ ',schema,service,publication,database,datatype,domain' . + let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' .. + \ ',schema,service,publication,database,datatype,domain' .. \ ',index,subscription,synchronization,view,variable' The following |Normal| mode and |Visual| mode maps have been created which use @@ -131,10 +131,10 @@ Repeatedly pressing ]} will cycle through each of these create statements: > create index i1 on t1 (c1); The default setting for g:ftplugin_sql_objects is: > - let g:ftplugin_sql_objects = 'function,procedure,event,' . - \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' . - \ 'table,trigger' . - \ ',schema,service,publication,database,datatype,domain' . + let g:ftplugin_sql_objects = 'function,procedure,event,' .. + \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .. + \ 'table,trigger' .. + \ ',schema,service,publication,database,datatype,domain' .. \ ',index,subscription,synchronization,view,variable' The above will also handle these cases: > diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt index decc7bf8a..38adf7701 100644 --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -155,8 +155,8 @@ If you are running the X Window System, you can get information about the window Vim is running in with these commands: > :!xwininfo -id $WINDOWID :!xprop -id $WINDOWID - :execute '!xwininfo -id ' . v:windowid - :execute '!xprop -id ' . v:windowid + :execute '!xwininfo -id ' .. v:windowid + :execute '!xprop -id ' .. v:windowid < *gui-IME* *iBus* Input methods for international characters in X that rely on the XIM diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index b9a0600ea..14cf1309b 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -1,4 +1,4 @@ -*help.txt* For Vim version 8.2. Last change: 2021 Dec 27 +*help.txt* For Vim version 8.2. Last change: 2022 Feb 26 VIM - main help file k @@ -197,6 +197,7 @@ Versions ~ |version6.txt| Differences between Vim version 5.7 and 6.x |version7.txt| Differences between Vim version 6.4 and 7.x |version8.txt| Differences between Vim version 7.4 and 8.x +|version9.txt| Differences between Vim version 8.2 and 9.0 *sys-file-list* Remarks about specific systems ~ |os_390.txt| OS/390 Unix diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index 19b8b67cb..a6767925f 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 8.2. Last change: 2022 Feb 07 +*if_pyth.txt* For Vim version 8.2. Last change: 2022 Feb 22 VIM REFERENCE MANUAL by Paul Moore @@ -25,6 +25,10 @@ The Python 3 interface is available only when Vim was compiled with the |+python3| feature. Both can be available at the same time, but read |python-2-and-3|. +NOTE: Python 2 is old and no longer being developed. Using Python 3 is highly +recommended. Python 2 support will be dropped when it does not work properly +anymore. + ============================================================================== 1. Commands *python-commands* @@ -923,7 +927,7 @@ The `:pyxdo` command works similar to `:pydo`. *has-pythonx* You can test if pyx* commands are available with: > if has('pythonx') - echo 'pyx* commands are available. (Python ' . &pyx . ')' + echo 'pyx* commands are available. (Python ' .. &pyx .. ')' endif When compiled with only one of |+python| or |+python3|, the has() returns 1. diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index acc786575..a02567e99 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -879,9 +879,9 @@ Groß): > endif let res = [] let h = '' - for l in systemlist('aiksaurus '.shellescape(a:base)) + for l in systemlist('aiksaurus ' .. shellescape(a:base)) if l[:3] == '=== ' - let h = '('.substitute(l[4:], ' =*$', ')', '') + let h = '(' .. substitute(l[4:], ' =*$', ')', '') elseif l ==# 'Alphabetically similar known words are: ' let h = "\U0001f52e" elseif l[0] =~ '\a' || (h ==# "\U0001f52e" && l[0] ==# "\t") @@ -1266,7 +1266,7 @@ An example that completes the names of the months: > " find months matching with "a:base" let res = [] for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec") - if m =~ '^' . a:base + if m =~ '^' .. a:base call add(res, m) endif endfor @@ -1288,7 +1288,7 @@ The same, but now pretending searching for matches is slow: > else " find months matching with "a:base" for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec") - if m =~ '^' . a:base + if m =~ '^' .. a:base call complete_add(m) endif sleep 300m " simulate searching for next match diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 0135c6d51..61e312702 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -314,7 +314,7 @@ Here is an example that inserts a list number that increases: > func ListItem() let g:counter += 1 - return g:counter . '. ' + return g:counter .. '. ' endfunc func ListReset() @@ -1697,12 +1697,12 @@ The valid escape sequences are Examples: > command! -nargs=+ -complete=file MyEdit \ for f in expand(<q-args>, 0, 1) | - \ exe '<mods> split ' . f | + \ exe '<mods> split ' .. f | \ endfor function! SpecialEdit(files, mods) for f in expand(a:files, 0, 1) - exe a:mods . ' split ' . f + exe a:mods .. ' split ' .. f endfor endfunction command! -nargs=+ -complete=file Sedit @@ -1778,7 +1778,7 @@ This will invoke: > : let i = 0 : while i < argc() : if filereadable(argv(i)) - : execute "e " . argv(i) + : execute "e " .. argv(i) : execute a:command : endif : let i = i + 1 diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index 36a7309a3..37b420c46 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1019,7 +1019,7 @@ These commands are not marks themselves, but jump to a mark: :let lnum = line(".") :keepjumps normal gg :call SetLastChange() - :keepjumps exe "normal " . lnum . "G" + :keepjumps exe "normal " .. lnum .. "G" < Note that ":keepjumps" must be used for every command. When invoking a function the commands in that function diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index c8b40ec04..98d7762c6 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1142,7 +1142,7 @@ A jump table for the options with a short description can be found at |Q_op|. If you like to keep a lot of backups, you could use a BufWritePre autocommand to change 'backupext' just before writing the file to include a timestamp. > - :au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~' + :au BufWritePre * let &bex = '-' .. strftime("%Y%b%d%X") .. '~' < Use 'backupdir' to put the backup in a different directory. *'backupskip'* *'bsk'* @@ -1167,7 +1167,7 @@ A jump table for the options with a short description can be found at |Q_op|. Note that environment variables are not expanded. If you want to use $HOME you must expand it explicitly, e.g.: > - :let &backupskip = escape(expand('$HOME'), '\') . '/tmp/*' + :let &backupskip = escape(expand('$HOME'), '\') .. '/tmp/*' < Note that the default also makes sure that "crontab -e" works (when a backup would be made by renaming the original file crontab won't see @@ -1218,10 +1218,10 @@ A jump table for the options with a short description can be found at |Q_op|. The evaluation of the expression must not have side effects! Example: > function MyBalloonExpr() - return 'Cursor is at line ' . v:beval_lnum . - \', column ' . v:beval_col . - \ ' of file ' . bufname(v:beval_bufnr) . - \ ' on word "' . v:beval_text . '"' + return 'Cursor is at line ' .. v:beval_lnum .. + \ ', column ' .. v:beval_col .. + \ ' of file ' .. bufname(v:beval_bufnr) .. + \ ' on word "' .. v:beval_text .. '"' endfunction set bexpr=MyBalloonExpr() set ballooneval @@ -1537,7 +1537,7 @@ A jump table for the options with a short description can be found at |Q_op|. If the default value taken from $CDPATH is not what you want, include a modified version of the following command in your vimrc file to override it: > - :let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g') + :let &cdpath = ',' .. substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g') < This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. (parts of 'cdpath' can be passed to the shell to expand file names). @@ -1582,8 +1582,8 @@ A jump table for the options with a short description can be found at |Q_op|. set charconvert=CharConvert() fun CharConvert() system("recode " - \ . v:charconvert_from . ".." . v:charconvert_to - \ . " <" . v:fname_in . " >" v:fname_out) + \ .. v:charconvert_from .. ".." .. v:charconvert_to + \ .. " <" .. v:fname_in .. " >" .. v:fname_out) return v:shell_error endfun < The related Vim variables are: @@ -4887,7 +4887,7 @@ A jump table for the options with a short description can be found at |Q_op|. |+multi_lang| features} Language to use for menu translation. Tells which file is loaded from the "lang" directory in 'runtimepath': > - "lang/menu_" . &langmenu . ".vim" + "lang/menu_" .. &langmenu .. ".vim" < (without the spaces). For example, to always use the Dutch menus, no matter what $LANG is set to: > :set langmenu=nl_NL.ISO_8859-1 @@ -5901,7 +5901,7 @@ A jump table for the options with a short description can be found at |Q_op|. < To use an environment variable, you probably need to replace the separator. Here is an example to append $INCL, in which directory names are separated with a semi-colon: > - :let &path = &path . "," . substitute($INCL, ';', ',', 'g') + :let &path = &path .. "," .. substitute($INCL, ';', ',', 'g') < Replace the ';' with a ':' or whatever separator is used. Note that this doesn't work when $INCL contains a comma or white space. @@ -8318,7 +8318,7 @@ A jump table for the options with a short description can be found at |Q_op|. This option cannot be set in a modeline when 'modelineexpr' is off. Example: > - :auto BufEnter * let &titlestring = hostname() . "/" . expand("%:p") + :auto BufEnter * let &titlestring = hostname() .. "/" .. expand("%:p") :set title titlestring=%<%F%=%l/%L-%P titlelen=70 < The value of 'titlelen' is used to align items in the middle or right of the available space. diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt index 0ebc77487..863763779 100644 --- a/runtime/doc/os_vms.txt +++ b/runtime/doc/os_vms.txt @@ -603,13 +603,13 @@ program to the new diff on VMS. Add this to your .vimrc file: > function MyDiff() let opt = "" if &diffopt =~ "icase" - let opt = opt . "-i " + let opt = opt .. "-i " endif if &diffopt =~ "iwhite" - let opt = opt . "-b " + let opt = opt .. "-b " endif - silent execute "!mc GNU:diff.exe -a " . opt . v:fname_in . " " . v:fname_new . - \ " > " . v:fname_out + silent execute "!mc GNU:diff.exe -a " .. opt .. v:fname_in .. " " .. v:fname_new .. + \ " > " .. v:fname_out endfunction endif diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 819975d57..f5855df07 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -963,7 +963,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on): the cursor moves the display isn't updated for this change. An update is done when using the |CTRL-L| command (the whole screen is updated). Example, to highlight the column where the cursor currently is: > - :exe '/\%' . col(".") . 'c' + :exe '/\%' .. col(".") .. 'c' < Alternatively use: > /\%.c < When 'hlsearch' is set and you move the cursor around and make changes diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index c90e0bccc..7cc12225d 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -968,7 +968,7 @@ itself: fun! NetReadFixup(method, line1, line2) if method == 3 " ftp (no <.netrc>) let fourblanklines= line2 - 3 - silent fourblanklines.",".line2."g/^\s*/d" + silent fourblanklines .. "," .. line2 .. "g/^\s*/d" endif endfunction endif @@ -1975,7 +1975,7 @@ To use this function, simply assign its output to |g:netrw_list_hide| option. > Example: let g:netrw_list_hide= netrw_gitignore#Hide('my_gitignore_file') Function can take additional files with git-ignore patterns. - Example: g:netrw_list_hide= netrw_gitignore#Hide() . '.*\.swp$' + Example: let g:netrw_list_hide= netrw_gitignore#Hide() .. '.*\.swp$' Combining 'netrw_gitignore#Hide' with custom patterns. < @@ -2825,7 +2825,7 @@ your browsing preferences. (see also: |netrw-settings|) Examples: let g:netrw_list_hide= '.*\.swp$' - let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$' + let g:netrw_list_hide= netrw_gitignore#Hide() .. '.*\.swp$' default: "" *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt index 771a58cec..691e2b654 100644 --- a/runtime/doc/print.txt +++ b/runtime/doc/print.txt @@ -139,28 +139,28 @@ If there is no error, return zero or an empty string. The default for non MS-Windows or VMS systems is to simply use "lpr" to print the file: > - system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) - . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error + system('lpr' .. (&printdevice == '' ? '' : ' -P' .. &printdevice) + .. ' ' .. v:fname_in) .. delete(v:fname_in) + v:shell_error On MS-Windows machines the default is to copy the file to the currently specified printdevice: > - system('copy' . ' ' . v:fname_in . (&printdevice == '' - ? ' LPT1:' : (' \"' . &printdevice . '\"'))) - . delete(v:fname_in) + system('copy' .. ' ' .. v:fname_in .. (&printdevice == '' + ? ' LPT1:' : (' \"' .. &printdevice .. '\"'))) + .. delete(v:fname_in) On VMS machines the default is to send the file to either the default or currently specified printdevice: > - system('print' . (&printdevice == '' ? '' : ' /queue=' . - &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + system('print' .. (&printdevice == '' ? '' : ' /queue=' .. + &printdevice) .. ' ' .. v:fname_in) .. delete(v:fname_in) If you change this option, using a function is an easy way to avoid having to escape all the spaces. Example: > :set printexpr=PrintFile(v:fname_in) :function PrintFile(fname) - : call system("ghostview " . a:fname) + : call system("ghostview " .. a:fname) : call delete(a:fname) : return v:shell_error :endfunc diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index b2b5514e3..ca00278bc 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 8.2. Last change: 2022 Feb 08 +*quickfix.txt* For Vim version 8.2. Last change: 2022 Feb 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -353,7 +353,7 @@ processing a quickfix or location list command, it will be aborted. cursor position will not be changed. See |:cexpr| for more information. Example: > - :g/mypattern/caddexpr expand("%") . ":" . line(".") . ":" . getline(".") + :g/mypattern/caddexpr expand("%") .. ":" .. line(".") .. ":" .. getline(".") < *:lad* *:addd* *:laddexpr* :lad[dexpr] {expr} Same as ":caddexpr", except the location list for the @@ -654,6 +654,24 @@ quickfix window. If there already is a window for that file, it is used instead. If the buffer in the used window has changed, and the error is in another file, jumping to the error will fail. You will first have to make sure the window contains a buffer which can be abandoned. + +The following steps are used to find a window to open the file selected from +the quickfix window: +1. If 'switchbuf' contains "usetab", then find a window in any tabpage + (starting with the first tabpage) that has the selected file and jump to + it. +2. Otherwise find a window displaying the selected file in the current tab + page (starting with the window before the quickfix window) and use it. +3. Otherwise find a window displaying a normal buffer ('buftype' is empty) + starting with the window before the quickfix window. If a window is found, + open the file in that window. +4. If a usable window is not found and 'switchbuf' contains "uselast", then + open the file in the last used window. +5. Otherwise open the file in the window before the quickfix window. If there + is no previous window, then open the file in the next window. +6. If a usable window is not found in the above steps, then create a new + horizontally split window above the quickfix window and open the file. + *CTRL-W_<Enter>* *CTRL-W_<CR>* You can use CTRL-W <Enter> to open a new window and jump to the error there. @@ -663,7 +681,7 @@ FileType event (also see |qf.vim|). Then the BufReadPost event is triggered, using "quickfix" for the buffer name. This can be used to perform some action on the listed errors. Example: > au BufReadPost quickfix setlocal modifiable - \ | silent exe 'g/^/s//\=line(".")." "/' + \ | silent exe 'g/^/s//\=line(".") .. " "/' \ | setlocal nomodifiable This prepends the line number to each line. Note the use of "\=" in the substitute string of the ":s" command, which is used to evaluate an diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt index 125e59215..ace84bde5 100644 --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -101,7 +101,7 @@ precedence, otherwise the 'cursorline' highlighting. Here is an example that places a sign "piet", displayed with the text ">>", in line 23 of the current file: > :sign define piet text=>> texthl=Search - :exe ":sign place 2 line=23 name=piet file=" . expand("%:p") + :exe ":sign place 2 line=23 name=piet file=" .. expand("%:p") And here is the command to delete it again: > :sign unplace 2 diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 872f2512b..3e20380c4 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -131,8 +131,8 @@ zuG Undo |zW| and |zG|, remove the word from the internal rare as this is a fairly uncommon command and all intuitive commands for this are already taken. If you want you can add mappings with e.g.: > - nnoremap z? :exe ':spellrare ' . expand('<cWORD>')<CR> - nnoremap z/ :exe ':spellrare! ' . expand('<cWORD>')<CR> + nnoremap z? :exe ':spellrare ' .. expand('<cWORD>')<CR> + nnoremap z/ :exe ':spellrare! ' .. expand('<cWORD>')<CR> < |:spellundo|, |zuw|, or |zuW| can be used to undo this. :spellr[rare]! {word} Add {word} as a rare word to the internal word diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index 84f3a7581..16004412a 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1378,7 +1378,7 @@ resulting file, when executed with a ":source" command: After restoring the Session, the full filename of your current Session is available in the internal variable "v:this_session" |this_session-variable|. An example mapping: > - :nmap <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:so ~/sessions/ + :nmap <F2> :wa<Bar>exe "mksession! " .. v:this_session<CR>:so ~/sessions/ This saves the current Session, and starts off the command to load another. A session includes all tab pages, unless "tabpages" was removed from diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index d95278a84..d7859c4a0 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -653,7 +653,7 @@ evaluate to get a unique string to append to each ID used in a given document, so that the full IDs will be unique even when combined with other content in a larger HTML document. Example, to append _ and the buffer number to each ID: > - :let g:html_id_expr = '"_".bufnr("%")' + :let g:html_id_expr = '"_" .. bufnr("%")' < To append a string "_mystring" to the end of each ID: > @@ -3607,8 +3607,8 @@ Do you want to draw with the mouse? Try the following: > :function! GetPixel() : let c = getline(".")[col(".") - 1] : echo c - : exe "noremap <LeftMouse> <LeftMouse>r".c - : exe "noremap <LeftDrag> <LeftMouse>r".c + : exe "noremap <LeftMouse> <LeftMouse>r" .. c + : exe "noremap <LeftDrag> <LeftMouse>r" .. c :endfunction :noremap <RightMouse> <LeftMouse>:call GetPixel()<CR> :set guicursor=n:hor20 " to see the color beneath the cursor @@ -5567,9 +5567,9 @@ types.vim: *.[ch] And put these lines in your .vimrc: > " load the types.vim highlighting file, if it exists - autocmd BufRead,BufNewFile *.[ch] let fname = expand('<afile>:p:h') . '/types.vim' + autocmd BufRead,BufNewFile *.[ch] let fname = expand('<afile>:p:h') .. '/types.vim' autocmd BufRead,BufNewFile *.[ch] if filereadable(fname) - autocmd BufRead,BufNewFile *.[ch] exe 'so ' . fname + autocmd BufRead,BufNewFile *.[ch] exe 'so ' .. fname autocmd BufRead,BufNewFile *.[ch] endif ============================================================================== diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt index cb2f7ad72..a6941e1a1 100644 --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -381,24 +381,24 @@ pages and define labels for them. Then get the label for each tab page. > for i in range(tabpagenr('$')) " select the highlighting if i + 1 == tabpagenr() - let s .= '%#TabLineSel#' + let s ..= '%#TabLineSel#' else - let s .= '%#TabLine#' + let s ..= '%#TabLine#' endif " set the tab page number (for mouse clicks) - let s .= '%' . (i + 1) . 'T' + let s ..= '%' .. (i + 1) .. 'T' " the label is made by MyTabLabel() - let s .= ' %{MyTabLabel(' . (i + 1) . ')} ' + let s ..= ' %{MyTabLabel(' .. (i + 1) .. ')} ' endfor " after the last tab fill with TabLineFill and reset tab page nr - let s .= '%#TabLineFill#%T' + let s ..= '%#TabLineFill#%T' " right-align the label to close the current tab page if tabpagenr('$') > 1 - let s .= '%=%#TabLine#%999Xclose' + let s ..= '%=%#TabLine#%999Xclose' endif return s @@ -461,14 +461,14 @@ windows in the tab page and a '+' if there is a modified buffer: > " Append the number of windows in the tab page if more than one let wincount = tabpagewinnr(v:lnum, '$') if wincount > 1 - let label .= wincount + let label ..= wincount endif if label != '' - let label .= ' ' + let label ..= ' ' endif " Append the buffer name - return label . bufname(bufnrlist[tabpagewinnr(v:lnum) - 1]) + return label .. bufname(bufnrlist[tabpagewinnr(v:lnum) - 1]) endfunction set guitablabel=%{GuiTabLabel()} diff --git a/runtime/doc/tags b/runtime/doc/tags index 04c059ce9..22ce70ffa 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1355,6 +1355,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* +mouse various.txt /*+mouse* +mouse_dec various.txt /*+mouse_dec* +mouse_gpm various.txt /*+mouse_gpm* ++mouse_gpm/dyn various.txt /*+mouse_gpm\/dyn* +mouse_jsbterm various.txt /*+mouse_jsbterm* +mouse_netterm various.txt /*+mouse_netterm* +mouse_pterm various.txt /*+mouse_pterm* @@ -5861,6 +5862,7 @@ bug-fixes-5 version5.txt /*bug-fixes-5* bug-fixes-6 version6.txt /*bug-fixes-6* bug-fixes-7 version7.txt /*bug-fixes-7* bug-fixes-8 version8.txt /*bug-fixes-8* +bug-fixes-9 version9.txt /*bug-fixes-9* bug-reports intro.txt /*bug-reports* bugreport.vim intro.txt /*bugreport.vim* bugs intro.txt /*bugs* @@ -6171,6 +6173,7 @@ compile-changes-5 version5.txt /*compile-changes-5* compile-changes-6 version6.txt /*compile-changes-6* compile-changes-7 version7.txt /*compile-changes-7* compile-changes-8 version8.txt /*compile-changes-8* +compile-changes-9 version9.txt /*compile-changes-9* compiler-compaqada ft_ada.txt /*compiler-compaqada* compiler-decada ft_ada.txt /*compiler-decada* compiler-gcc quickfix.txt /*compiler-gcc* @@ -7820,6 +7823,7 @@ improvements-5 version5.txt /*improvements-5* improvements-6 version6.txt /*improvements-6* improvements-7 version7.txt /*improvements-7* improvements-8 version8.txt /*improvements-8* +improvements-9 version9.txt /*improvements-9* in_bot channel.txt /*in_bot* in_buf channel.txt /*in_buf* in_io-buffer channel.txt /*in_io-buffer* @@ -7835,6 +7839,7 @@ incompatible-5 version5.txt /*incompatible-5* incompatible-6 version6.txt /*incompatible-6* incompatible-7 version7.txt /*incompatible-7* incompatible-8 version8.txt /*incompatible-8* +incompatible-9 version9.txt /*incompatible-9* indent() builtin.txt /*indent()* indent-expression indent.txt /*indent-expression* indent.txt indent.txt /*indent.txt* @@ -8543,6 +8548,7 @@ new-5 version5.txt /*new-5* new-6 version6.txt /*new-6* new-7 version7.txt /*new-7* new-8 version8.txt /*new-8* +new-9 version9.txt /*new-9* new-GTK-GUI version5.txt /*new-GTK-GUI* new-MzScheme version7.txt /*new-MzScheme* new-Select-mode version5.txt /*new-Select-mode* @@ -8576,6 +8582,7 @@ new-indent-flex version6.txt /*new-indent-flex* new-items-6 version6.txt /*new-items-6* new-items-7 version7.txt /*new-items-7* new-items-8 version8.txt /*new-items-8* +new-items-9 version9.txt /*new-items-9* new-line-continuation version5.txt /*new-line-continuation* new-location-list version7.txt /*new-location-list* new-lua version7.txt /*new-lua* @@ -8625,6 +8632,7 @@ new-utf-8 version6.txt /*new-utf-8* new-vertsplit version6.txt /*new-vertsplit* new-vim-script version7.txt /*new-vim-script* new-vim-script-8 version8.txt /*new-vim-script-8* +new-vim-script-9 version9.txt /*new-vim-script-9* new-vim-server version6.txt /*new-vim-server* new-vimgrep version7.txt /*new-vimgrep* new-vimscript-8.2 version8.txt /*new-vimscript-8.2* @@ -8743,7 +8751,8 @@ 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* +patches-9 version9.txt /*patches-9* +patches-after-8.2 version9.txt /*patches-after-8.2* pathshorten() builtin.txt /*pathshorten()* pattern pattern.txt /*pattern* pattern-atoms pattern.txt /*pattern-atoms* @@ -10011,6 +10020,7 @@ terminal.txt terminal.txt /*terminal.txt* terminalprops() builtin.txt /*terminalprops()* terminfo term.txt /*terminfo* termresponse-variable eval.txt /*termresponse-variable* +ternary eval.txt /*ternary* test-functions usr_41.txt /*test-functions* test-functions-details testing.txt /*test-functions-details* test_alloc_fail() testing.txt /*test_alloc_fail()* @@ -10102,7 +10112,6 @@ tooltips gui.txt /*tooltips* 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* @@ -10457,6 +10466,7 @@ version-7.4 version7.txt /*version-7.4* version-8.0 version8.txt /*version-8.0* version-8.1 version8.txt /*version-8.1* version-8.2 version8.txt /*version-8.2* +version-9.0 version9.txt /*version-9.0* version-variable eval.txt /*version-variable* version4.txt version4.txt /*version4.txt* version5.txt version5.txt /*version5.txt* @@ -10471,6 +10481,8 @@ version8.0 version8.txt /*version8.0* version8.1 version8.txt /*version8.1* version8.2 version8.txt /*version8.2* version8.txt version8.txt /*version8.txt* +version9.0 version9.txt /*version9.0* +version9.txt version9.txt /*version9.txt* versionlong-variable eval.txt /*versionlong-variable* vi intro.txt /*vi* vi-differences vi_diff.txt /*vi-differences* @@ -10486,6 +10498,8 @@ vim-7.4 version7.txt /*vim-7.4* vim-8 version8.txt /*vim-8* vim-8.1 version8.txt /*vim-8.1* vim-8.2 version8.txt /*vim-8.2* +vim-9 version9.txt /*vim-9* +vim-9.0 version9.txt /*vim-9.0* vim-additions vi_diff.txt /*vim-additions* vim-announce intro.txt /*vim-announce* vim-arguments starting.txt /*vim-arguments* diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt index 69c629c00..b53131bf9 100644 --- a/runtime/doc/tagsrch.txt +++ b/runtime/doc/tagsrch.txt @@ -724,7 +724,7 @@ matches the pattern "^# *define" it is not considered to be a comment. If you want to list matches, and then select one to jump to, you could use a mapping to do that for you. Here is an example: > - :map <F4> [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR> + :map <F4> [I:let nr = input("Which one: ")<Bar>exe "normal " .. nr .. "[\t"<CR> < *[i* [i Display the first line that contains the keyword diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt index 9e91c0e94..8a8906a5e 100644 --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -984,7 +984,7 @@ an #if/#else/#endif block, the selection becomes linewise. For MS-Windows and xterm the time for double clicking can be set with the 'mousetime' option. For the other systems this time is defined outside of Vim. An example, for using a double click to jump to the tag under the cursor: > - :map <2-LeftMouse> :exe "tag ". expand("<cword>")<CR> + :map <2-LeftMouse> :exe "tag " .. expand("<cword>")<CR> Dragging the mouse with a double click (button-down, button-up, button-down and then drag) will result in whole words to be selected. This continues diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt index 4b6a6a297..1b4ca8a9d 100644 --- a/runtime/doc/terminal.txt +++ b/runtime/doc/terminal.txt @@ -979,8 +979,8 @@ Currently supported commands: < Calls a function defined like this: > function Tapi_Impression(bufnum, arglist) if len(a:arglist) == 2 - echomsg "impression " . a:arglist[0] - echomsg "count " . a:arglist[1] + echomsg "impression " .. a:arglist[0] + echomsg "count " .. a:arglist[1] endif endfunc < Output from `:echo` may be erased by a redraw, use `:echomsg` diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt index 5d6008c09..3c341febc 100644 --- a/runtime/doc/tips.txt +++ b/runtime/doc/tips.txt @@ -101,14 +101,14 @@ What you need: create it with the shell command "mkid file1 file2 ..". Put this in your .vimrc: > - map _u :call ID_search()<Bar>execute "/\\<" . g:word . "\\>"<CR> - map _n :n<Bar>execute "/\\<" . g:word . "\\>"<CR> + map _u :call ID_search()<Bar>execute "/\\<" .. g:word .. "\\>"<CR> + map _n :n<Bar>execute "/\\<" .. g:word .. "\\>"<CR> function! ID_search() let g:word = expand("<cword>") - let x = system("lid --key=none ". g:word) + let x = system("lid --key=none " .. g:word) let x = substitute(x, "\n", " ", "g") - execute "next " . x + execute "next " .. x endfun To use it, place the cursor on a word, type "_u" and vim will load the file @@ -356,13 +356,13 @@ This mapping will format any bullet list. It requires that there is an empty line above and below each list entry. The expression commands are used to be able to give comments to the parts of the mapping. > - :let m = ":map _f :set ai<CR>" " need 'autoindent' set - :let m = m . "{O<Esc>" " add empty line above item - :let m = m . "}{)^W" " move to text after bullet - :let m = m . "i <CR> <Esc>" " add space for indent - :let m = m . "gq}" " format text after the bullet - :let m = m . "{dd" " remove the empty line - :let m = m . "5lDJ" " put text after bullet + :let m = ":map _f :set ai<CR>" " need 'autoindent' set + :let m ..= "{O<Esc>" " add empty line above item + :let m ..= "}{)^W" " move to text after bullet + :let m ..= "i <CR> <Esc>" " add space for indent + :let m ..= "gq}" " format text after the bullet + :let m ..= "{dd" " remove the empty line + :let m ..= "5lDJ" " put text after bullet :execute m |" define the mapping (<> notation |<>|. Note that this is all typed literally. ^W is "^" "W", not @@ -514,15 +514,15 @@ A slightly more advanced version is used in the |matchparen| plugin. let c = '\[' let c2 = '\]' endif - let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' . + let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .. \ '=~? "string\\|comment"' execute 'if' s_skip '| let s_skip = 0 | endif' let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip) if m_lnum > 0 && m_lnum >= line('w0') && m_lnum <= line('w$') - exe 'match Search /\(\%' . c_lnum . 'l\%' . c_col . - \ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/' + exe 'match Search /\(\%' .. c_lnum .. 'l\%' .. c_col .. + \ 'c\)\|\(\%' .. m_lnum .. 'l\%' .. m_col .. 'c\)/' let s:paren_hl_on = 1 endif endfunction diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt index fabee453d..4a0ea040e 100644 --- a/runtime/doc/undo.txt +++ b/runtime/doc/undo.txt @@ -286,12 +286,12 @@ history file. E.g.: > au BufReadPost * call ReadUndo() au BufWritePost * call WriteUndo() func ReadUndo() - if filereadable(expand('%:h'). '/UNDO/' . expand('%:t')) + if filereadable(expand('%:h') .. '/UNDO/' .. expand('%:t')) rundo %:h/UNDO/%:t endif endfunc func WriteUndo() - let dirname = expand('%:h') . '/UNDO' + let dirname = expand('%:h') .. '/UNDO' if !isdirectory(dirname) call mkdir(dirname) endif diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index 3a7438df4..51e43df14 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -270,7 +270,7 @@ line break. Revert with ":iunmap <C-U>". Enable using the mouse if available. See 'mouse'. > - vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR> + vnoremap _g y:exe "grep /" .. escape(@", '\\/') .. "/ *.c *.h"<CR> This mapping yanks the visually selected text and searches for it in C files. You can see that a mapping can be used to do quite complicated things. Still, diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 9ca65170f..922861e9c 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -267,7 +267,7 @@ g8 Print the hex values of the bytes used in the name does not contain a single quote: > :!ls '%' < This should always work, but it's more typing: > - :exe "!ls " . shellescape(expand("%")) + :exe "!ls " .. shellescape(expand("%")) < To get a literal "%" or "#" prepend it with a backslash. For example, to list all files starting with "%": > @@ -650,7 +650,7 @@ N *+X11* Unix only: can restore window title |X11| used. In this example |:silent| is used to avoid the message about reading the file and |:unsilent| to be able to list the first line of each file. > - :silent argdo unsilent echo expand('%') . ": " . getline(1) + :silent argdo unsilent echo expand('%') .. ": " .. getline(1) < *:verb* *:verbose* diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt index f0a52907c..4a621111f 100644 --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -1,4 +1,4 @@ -*version8.txt* For Vim version 8.2. Last change: 2022 Feb 03 +*version8.txt* For Vim version 8.2. Last change: 2022 Feb 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -41144,8508 +41144,7 @@ Files: src/os_win32.c ============================================================================== -Patches *patches-after-8.2* -------- - -These patches were applied after the 8.2 release. - -Patch 8.2.0001 -Problem: #endif comments do not reflect corresponding #ifdef. -Solution: Update the comments. (Rene Nyffenegger, closes #5351) -Files: src/ui.c - -Patch 8.2.0002 -Problem: "dj" only deletes first line of closed fold. -Solution: Adjust last line of operator for linewise motion. (closes #5354) -Files: src/ops.c, src/testdir/test_fold.vim - -Patch 8.2.0003 -Problem: Build file dependencies are incomplete. -Solution: Fix the dependencies. (Ken Takata, closes #5356) -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, - src/Makefile - -Patch 8.2.0004 -Problem: Get E685 and E931 if buffer reload is interrupted. -Solution: Do not abort deleting a dummy buffer. (closes #5361) -Files: src/buffer.c, src/proto/buffer.pro, src/testdir/test_trycatch.vim, - src/ex_cmds.c, src/ex_getln.c, src/misc2.c, src/quickfix.c, - src/window.c, src/vim.h - -Patch 8.2.0005 -Problem: Duplication in version info. -Solution: Use preprocessor string concatenation. (Ken Takata, closes #5357) -Files: src/version.h - -Patch 8.2.0006 -Problem: Test using long file name may fail. (Vladimir Lomov) -Solution: Limit the name length. (Christian Brabandt, closes #5358) -Files: src/testdir/test_display.vim - -Patch 8.2.0007 -Problem: Popup menu positioned wrong with folding in two tabs. -Solution: Update the cursor line height. (closes #5353) -Files: src/move.c, src/proto/move.pro, src/popupmenu.c, - src/testdir/test_ins_complete.vim, - src/testdir/dumps/Test_pum_with_folds_two_tabs.dump - -Patch 8.2.0008 -Problem: Test72 is old style. -Solution: Convert to new style test. (Yegappan Lakshmanan, closes #5362) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test72.in, src/testdir/test72.ok, - src/testdir/test_undo.vim - -Patch 8.2.0009 -Problem: VMS: terminal version doesn't build. -Solution: Move MIN definition. Adjust #ifdefs. (Zoltan Arpadffy) -Files: src/bufwrite.c, src/fileio.c, src/ui.c, src/xxd/Make_vms.mms - -Patch 8.2.0010 -Problem: Test64 is old style. -Solution: Convert to new style test. (Yegappan Lakshmanan, closes #5363) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in, src/testdir/test_regexp_latin.vim - -Patch 8.2.0011 -Problem: Screen updating wrong when opening preview window. -Solution: Redraw the window when the preview window opens. -Files: src/popupmenu.c, src/testdir/test_ins_complete.vim, - src/testdir/dumps/Test_pum_with_preview_win.dump - -Patch 8.2.0012 -Problem: Some undo functionality is not tested. -Solution: Add a few more test cases. (Dominique Pellé, closes #5364) -Files: src/testdir/test_undo.vim - -Patch 8.2.0013 -Problem: Not using a typedef for condstack. -Solution: Add a typedef. -Files: src/structs.h, src/ex_docmd.c, src/ex_eval.c, src/userfunc.c, - src/ex_cmds.h, src/proto/ex_eval.pro - -Patch 8.2.0014 -Problem: Test69 and test95 are old style. -Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5365) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test69.in, src/testdir/test69.ok, - src/testdir/test95.in, src/testdir/test95.ok, - src/testdir/test_regexp_utf8.vim, src/testdir/test_textformat.vim - -Patch 8.2.0015 -Problem: Not all modeline variants are tested. -Solution: Add modeline tests. (Dominique Pellé, closes #5369) -Files: src/testdir/test_modeline.vim - -Patch 8.2.0016 -Problem: Test name used twice, option not restored properly. -Solution: Rename function, restore option with "&". -Files: src/testdir/test_textformat.vim - -Patch 8.2.0017 -Problem: OS/2 and MS-DOS are still mentioned, even though support was - removed long ago. -Solution: Update documentation. (Yegappan Lakshmanan, closes #5368) -Files: runtime/doc/autocmd.txt, runtime/doc/change.txt, - runtime/doc/cmdline.txt, runtime/doc/editing.txt, - runtime/doc/eval.txt, runtime/doc/gui.txt, runtime/doc/insert.txt, - runtime/doc/options.txt, runtime/doc/print.txt, - runtime/doc/quickfix.txt, runtime/doc/repeat.txt, - runtime/doc/starting.txt, runtime/doc/usr_01.txt, - runtime/doc/usr_05.txt, runtime/doc/usr_41.txt, - runtime/doc/vi_diff.txt, runtime/gvimrc_example.vim, - runtime/tools/README.txt, runtime/vimrc_example.vim, src/feature.h - -Patch 8.2.0018 -Problem: :join does not add white space where it should. (Zdenek Dohnal) -Solution: Handle joining multiple lines properly. -Files: src/ops.c, src/testdir/test_join.vim - -Patch 8.2.0019 -Problem: Cannot get number of lines of another buffer. -Solution: Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto, - closes #5370) -Files: src/evalbuffer.c, src/testdir/test_bufwintabinfo.vim, - runtime/doc/eval.txt - -Patch 8.2.0020 -Problem: Mouse clicks in the command line not tested. -Solution: Add tests. (Dominique Pellé, closes #5366) -Files: src/testdir/test_termcodes.vim - -Patch 8.2.0021 -Problem: Timer test fails too often on Travis with MacOS. -Solution: Be less strict with the time. -Files: src/testdir/test_timers.vim - -Patch 8.2.0022 -Problem: Click in popup window doesn't close it in the GUI. (Sergey Vlasov) -Solution: When processing the selection also send a button release event. - (closes #5367) -Files: src/gui.c - -Patch 8.2.0023 -Problem: Command line editing not sufficiently tested. -Solution: Add more tests. (Dominique Pellé, closes #5374) -Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, - src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim - -Patch 8.2.0024 -Problem: Filetype Rego not recognized. -Solution: Add *.rego. (Matt Dunford, closes #5376) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0025 -Problem: Repeated word in comment. -Solution: Remove one. (Rene Nyffenegger, closes #5384) -Files: src/structs.h - -Patch 8.2.0026 -Problem: Still some /* */ comments. -Solution: Convert to // comments. -Files: src/message.c, src/message_test.c, src/misc1.c, src/misc2.c, - src/move.c - -Patch 8.2.0027 -Problem: Still some /* */ comments. -Solution: Convert to // comments. -Files: src/iid_ole.c, src/indent.c, src/insexpand.c, src/iscygpty.c, - src/version.c - -Patch 8.2.0028 -Problem: Searchpairpos() is not tested. -Solution: Add tests. Also improve searchpair() testing. (Dominique Pellé, - closes #5388) -Files: src/testdir/test_search.vim - -Patch 8.2.0029 -Problem: MS-Windows: crash with empty job command. -Solution: Check for NULL result. (Yasuhiro Matsumoto, closes #5390) -Files: src/channel.c, src/testdir/test_channel.vim - -Patch 8.2.0030 -Problem: "gF" does not work on output of "verbose command". -Solution: Recognize " line " and translations. (closes #5391) -Files: src/globals.h, src/eval.c, src/findfile.c, src/testdir/test_gf.vim - -Patch 8.2.0031 (after 8.2.0029) -Problem: MS-Windows: test for empty job fails -Solution: Check for error message, make it also fail on Unix. -Files: src/channel.c, src/testdir/test_channel.vim - -Patch 8.2.0032 (after 8.2.0031) -Problem: MS-Windows: test for blank job fails -Solution: Check before escaping. -Files: src/channel.c, src/testdir/test_channel.vim - -Patch 8.2.0033 -Problem: Crash when make_extmatch() runs out of memory. -Solution: Check for NULL. (Dominique Pellé, closes #5392) -Files: src/regexp_bt.c, src/regexp_nfa.c - -Patch 8.2.0034 -Problem: Missing check for out of memory. -Solution: Check for NULL after vim_strsave(). (Dominique Pellé, - closes #5393) -Files: src/filepath.c - -Patch 8.2.0035 -Problem: Saving and restoring called_emsg is clumsy. -Solution: Count the number of error messages. -Files: src/message.c, src/buffer.c, src/channel.c, src/drawscreen.c, - src/ex_cmds2.c, src/gui.c, src/highlight.c, src/main.c, - src/regexp.c, src/search.c, src/testing.c, src/globals.h - -Patch 8.2.0036 -Problem: Not enough test coverage for match functions. -Solution: Add a few more test cases. (Dominique Pellé, closes #5394) - Add error number. -Files: src/testdir/test_match.vim - -Patch 8.2.0037 -Problem: Missing renamed message. -Solution: Now really add the error number. -Files: src/highlight.c - -Patch 8.2.0038 -Problem: Spell suggestions insufficiently tested. -Solution: Add spell suggestion tests. (Dominique Pellé, closes #5398) -Files: src/testdir/test_spell.vim - -Patch 8.2.0039 -Problem: Memory access error when "z=" has no suggestions. -Solution: Check for negative index. -Files: src/testdir/test_spell.vim, src/spellsuggest.c - -Patch 8.2.0040 -Problem: Timers test is still flaky on Travis for Mac. -Solution: Run separately instead of as part of test_alot. -Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim - -Patch 8.2.0041 -Problem: Leaking memory when selecting spell suggestion. -Solution: Free previous value at the right time. -Files: src/spellsuggest.c - -Patch 8.2.0042 -Problem: Clearing funccal values twice. -Solution: Remove clearing individual fields. -Files: src/userfunc.c - -Patch 8.2.0043 -Problem: Timers test is still flaky on Travis for Mac. -Solution: Increase maximum expected time. -Files: src/testdir/test_timers.vim - -Patch 8.2.0044 -Problem: Expression type is used inconsistently. -Solution: Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values. Rename - "TYPE_" to "ETYPE_" to avoid confusion. -Files: src/structs.h, src/eval.c, src/proto/eval.pro, src/debugger.c - -Patch 8.2.0045 (after 8.2.0044) -Problem: Script test fails. -Solution: For numbers "is" and "isnot" work like "==" and "!=". -Files: src/eval.c - -Patch 8.2.0046 -Problem: Tests for spell suggestions are slow. -Solution: Use shorter words. Test with latin1 and utf-8 to cover more code. - (Dominique Pellé, closes #5399) -Files: src/testdir/test_spell.vim - -Patch 8.2.0047 -Problem: Cannot skip tests for specific MS-Windows platform. -Solution: Add windowsversion(). -Files: src/os_win32.c, src/globals.h, src/evalfunc.c, - runtime/doc/eval.txt, src/testdir/gen_opt_test.vim, - src/testdir/test_options.vim - -Patch 8.2.0048 -Problem: Another timers test is flaky on Travis for Mac. -Solution: Increase maximum expected time. -Files: src/testdir/test_timers.vim - -Patch 8.2.0049 -Problem: Command line completion not fully tested. -Solution: Add more test cases. Make help sorting stable. (Dominique Pellé, - closes #5402) -Files: src/ex_cmds.c, src/testdir/test_cd.vim, - src/testdir/test_cmdline.vim, src/testdir/test_help.vim, - src/testdir/test_menu.vim, src/testdir/test_options.vim, - src/testdir/test_syntax.vim - -Patch 8.2.0050 -Problem: After deleting a file mark it is still in viminfo. -Solution: When a file mark was deleted more recently than the mark in the - merged viminfo file was updated, do not store the mark. (Pavol - Juhas, closes #5401, closes #1339) -Files: src/mark.c, src/testdir/test_marks.vim, - src/testdir/test_viminfo.vim, src/viminfo.c - -Patch 8.2.0051 (after 8.2.0049) -Problem: Command line completion test skipped. (Christian Brabandt) -Solution: Invert condition. -Files: src/testdir/test_cmdline.vim - -Patch 8.2.0052 -Problem: More-prompt not properly tested. -Solution: Add a test case. (Dominique Pellé, closes #5404) -Files: src/testdir/test_messages.vim - -Patch 8.2.0053 -Problem: windowsversion() does not always return the right value. -Solution: Add a compatibility section in the manifest. (Ken Takata, - closes #5407) -Files: src/gvim.exe.mnf - -Patch 8.2.0054 -Problem: :diffget and :diffput don't have good completion. -Solution: Add proper completion. (Dominique Pellé, closes #5409) -Files: runtime/doc/eval.txt, src/buffer.c, src/cmdexpand.c, - src/testdir/test_diffmode.vim, src/usercmd.c, src/vim.h - -Patch 8.2.0055 -Problem: Cannot use ":gui" in vimrc with VIMDLL enabled. -Solution: Change the logic, check "gui.starting". (Ken Takata, closes #5408) -Files: src/gui.c - -Patch 8.2.0056 -Problem: Execution stack is incomplete and inefficient. -Solution: Introduce a proper execution stack and use it instead of - sourcing_name/sourcing_lnum. Create a string only when used. -Files: src/structs.h, src/globals.h, src/autocmd.c, src/buffer.c - src/debugger.c, src/ex_docmd.c, src/ex_eval.c, src/highlight.c, - src/main.c, src/map.c, src/message.c, src/proto/scriptfile.pro, - src/scriptfile.c, src/option.c, src/profiler.c, src/spellfile.c, - src/term.c, src/testing.c, src/usercmd.c, src/userfunc.c, - src/kword_test.c, src/testdir/test_debugger.vim - -Patch 8.2.0057 (after 8.2.0056) -Problem: Cannot build with small features. -Solution: Add #ifdefs. -Files: src/scriptfile.c - -Patch 8.2.0058 -Problem: Running tests changes ~/.viminfo. -Solution: Make 'viminfo' empty when summarizing tests results. (closes #5414) -Files: src/testdir/summarize.vim - -Patch 8.2.0059 -Problem: Compiler warnings for unused variables in small build. (Tony - Mechelynck) -Solution: Add #ifdef. -Files: src/scriptfile.c - -Patch 8.2.0060 -Problem: Message test only runs with one encoding. (Dominique Pellé) -Solution: Run the test with "utf-8" and "latin1". Fix underflow. (related - to #5410) -Files: src/message_test.c, src/message.c - -Patch 8.2.0061 -Problem: The execute stack can grow big and never shrinks. -Solution: Reduce the size in garbage collect. -Files: src/eval.c - -Patch 8.2.0062 -Problem: Memory test is flaky on FreeBSD. -Solution: Add a short sleep before getting the first size. -Files: src/testdir/test_memory_usage.vim - -Patch 8.2.0063 -Problem: Wrong size argument to vim_snprintf(). (Dominique Pellé) -Solution: Reduce the size by the length. (related to #5410) -Files: src/ops.c - -Patch 8.2.0064 -Problem: Diffmode completion doesn't use per-window setting. -Solution: Check if a window is in diff mode. (Dominique Pellé, closes #5419) -Files: src/buffer.c, src/testdir/test_diffmode.vim - -Patch 8.2.0065 -Problem: Amiga and alikes: autoopen only used on Amiga OS4. -Solution: Adjust #ifdefs. (Ola Söder, closes #5413) -Files: src/os_amiga.c - -Patch 8.2.0066 -Problem: Some corners of vim_snprintf() are not tested. -Solution: Add a test in C. (Dominique Pellé, closes #5422) -Files: src/message_test.c - -Patch 8.2.0067 -Problem: ERROR_UNKNOWN clashes on some systems. -Solution: Rename ERROR_ to FCERR_. (Ola Söder, closes #5415) -Files: src/evalfunc.c, src/userfunc.c, src/vim.h - -Patch 8.2.0068 -Problem: Crash when using Python 3 with "utf32" encoding. (Dominique Pellé) -Solution: Use "utf-8" whenever enc_utf8 is set. (closes #5423) -Files: src/testdir/test_python3.vim, src/if_py_both.h - -Patch 8.2.0069 -Problem: ETYPE_ is used for two different enums. -Solution: Rename one to use EXPR_. -Files: src/structs.h, src/eval.c, src/debugger.c - -Patch 8.2.0070 -Problem: Crash when using Python 3 with "debug" encoding. (Dominique Pellé) -Solution: Use "euc-jp" whenever enc_dbcs is set. -Files: src/testdir/test_python3.vim, src/if_py_both.h - -Patch 8.2.0071 -Problem: Memory test often fails on Cirrus CI. -Solution: Allow for more tolerance in the upper limit. Remove sleep. -Files: src/testdir/test_memory_usage.vim - -Patch 8.2.0072 (after 8.2.0071) -Problem: Memory test still fails on Cirrus CI. -Solution: Allow for a tiny bit more tolerance in the upper limit. -Files: src/testdir/test_memory_usage.vim - -Patch 8.2.0073 -Problem: Initializing globals with COMMA is clumsy. -Solution: Use INIT2(), INIT3(), etc. -Files: src/vim.h, src/globals.h - -Patch 8.2.0074 -Problem: Python 3 unicode test sometimes fails. -Solution: Make 'termencoding' empty. Correct number of error message. -Files: src/change.c, runtime/doc/options.txt, runtime/doc/message.txt, - src/testdir/test_python3.vim - -Patch 8.2.0075 -Problem: Python 3 unicode test still sometimes fails. -Solution: Skip the test when 'termencoding' is not empty. -Files: src/testdir/test_python3.vim - -Patch 8.2.0076 -Problem: Python 3 unicode test fails on MS-Windows. -Solution: Do not set 'encoding' to "debug" on MS-Windows. -Files: src/testdir/test_python3.vim - -Patch 8.2.0077 -Problem: settagstack() cannot truncate at current index. -Solution: Add the "t" action. (Yegappan Lakshmanan, closes #5417) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/tag.c, - src/testdir/test_tagjump.vim - -Patch 8.2.0078 -Problem: Expanding <sfile> works differently the second time. -Solution: Keep the expanded name when redefining a function. (closes #5425) -Files: src/testdir/test_vimscript.vim, src/userfunc.c - -Patch 8.2.0079 -Problem: Python 3 unicode test still fails on MS-Windows. -Solution: Do not set 'encoding' to "euc-tw" on MS-Windows. -Files: src/testdir/test_python3.vim - -Patch 8.2.0080 -Problem: Globals using INIT4() are not in the tags file. -Solution: Adjust the tags command. -Files: src/configure.ac, src/auto/configure - -Patch 8.2.0081 -Problem: MS-Windows also need the change to support INIT4(). -Solution: Add the ctags arguments. (Ken Takata) -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak - -Patch 8.2.0082 -Problem: When reusing a buffer listeners are not cleared. (Axel Forsman) -Solution: Clear listeners when reusing a buffer. (closes #5431) -Files: src/testdir/test_listener.vim, src/buffer.c - -Patch 8.2.0083 -Problem: Text properties wrong when tabs and spaces are exchanged. -Solution: Take text properties into account. (Nobuhiro Takasaki, - closes #5427) -Files: src/edit.c, src/testdir/test_textprop.vim - -Patch 8.2.0084 -Problem: Complete item "user_data" can only be a string. -Solution: Accept any type of variable. (closes #5412) -Files: src/testdir/test_ins_complete.vim, src/insexpand.c, src/dict.c, - src/proto/dict.pro, src/eval.c, runtime/doc/insert.txt - -Patch 8.2.0085 -Problem: Dead code in builtin functions. -Solution: Clean up the code. -Files: src/evalvars.c, src/sound.c, src/textprop.c - -Patch 8.2.0086 (after 8.2.0084) -Problem: Build error for small version. (Tony Mechelynck) -Solution: Only use "user_data" with the +eval feature. Remove unused - variable. -Files: src/insexpand.c, src/dict.c - -Patch 8.2.0087 -Problem: Crash in command line expansion when out of memory. -Solution: Check for NULL pointer. Also make ExpandGeneric() static. - (Dominique Pellé, closes #5437) -Files: src/cmdexpand.c, src/proto/cmdexpand.pro - -Patch 8.2.0088 -Problem: Insufficient tests for tags; bug in using extra tag field when - using an ex command to position the cursor. -Solution: Fix the bug, add more tests. (Yegappan Lakshmanan, closes #5439) -Files: runtime/doc/tagsrch.txt, src/tag.c, - src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim, - src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim - -Patch 8.2.0089 -Problem: Crash when running out of memory in :setfiletype completion. -Solution: Do not allocate memory. (Dominique Pellé, closes #5438) -Files: src/cmdexpand.c - -Patch 8.2.0090 -Problem: Generated files show up in git status. -Solution: Ignore a few more files. -Files: .gitignore - -Patch 8.2.0091 -Problem: Compiler warnings for size_t / int types. -Solution: Change type to size_t. (Mike Williams) -Files: src/scriptfile.c - -Patch 8.2.0092 -Problem: Tags functionality insufficiently tested. -Solution: Add more tags tests. (Yegappan Lakshmanan, closes #5446) -Files: src/testdir/test_tagjump.vim - -Patch 8.2.0093 -Problem: win_splitmove() can make Vim hang. -Solution: Check windows exists in the current tab page. (closes #5444) -Files: src/testdir/test_window_cmd.vim, src/evalwindow.c - -Patch 8.2.0094 -Problem: MS-Windows: cannot build with Strawberry Perl 5.30. -Solution: Define __builtin_expect() as a workaround. (Ken Takata, - closes #5267) -Files: src/if_perl.xs - -Patch 8.2.0095 -Problem: Cannot specify exit code for :cquit. -Solution: Add optional argument. (Thinca, Yegappan Lakshmanan, closes #5442) -Files: runtime/doc/quickfix.txt, src/ex_cmds.h, src/ex_docmd.c, - src/testdir/test_quickfix.vim - -Patch 8.2.0096 -Problem: Cannot create tiny popup window in last column. (Daniel Steinberg) -Solution: Remove position limit. (closes #5447) -Files: src/popupwin.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_20.dump, - src/testdir/dumps/Test_popupwin_21.dump - -Patch 8.2.0097 -Problem: Crash with autocommand and spellfile. (Tim Pope) -Solution: Do not pop exestack when not pushed. (closes #5450) -Files: src/testdir/test_autocmd.vim, src/spellfile.c - -Patch 8.2.0098 -Problem: Exe stack length can be wrong without being detected. -Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined. -Files: src/macros.h, src/autocmd.c, src/buffer.c, src/ex_docmd.c, - src/main.c, src/map.c, src/scriptfile.c, src/spellfile.c, - src/userfunc.c - -Patch 8.2.0099 -Problem: Use of NULL pointer when out of memory. -Solution: Check for NULL pointer. (Dominique Pellé, closes #5449) -Files: src/cmdexpand.c - -Patch 8.2.0100 -Problem: Macros for Ruby are too complicated. -Solution: Do not use DYNAMIC_RUBY_VER, use RUBY_VERSION. (Ken Takata, - closes #5452) -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, - src/configure.ac, src/if_ruby.c - -Patch 8.2.0101 -Problem: Crash when passing null object to ":echomsg". -Solution: Check for NULL pointer. (Yasuhiro Matsumoto, closes #5460) -Files: src/eval.c, src/testdir/test_messages.vim - -Patch 8.2.0102 -Problem: Messages test fails in small version. -Solution: Only use test_null_job() when available. -Files: src/testdir/test_messages.vim - -Patch 8.2.0103 -Problem: Using null object with execute() has strange effects. -Solution: Give an error message for Job and Channel. -Files: src/testdir/test_execute_func.vim, src/globals.h, src/eval.c, - src/evalfunc.c - -Patch 8.2.0104 -Problem: Using channel or job with ":execute" has strange effects. -Solution: Give an error message for Job and Channel. -Files: src/testdir/test_eval_stuff.vim, src/eval.c - -Patch 8.2.0105 -Problem: Vim license not easy to find on github. -Solution: Add a separate LICENCE file. (closes #5458) -Files: LICENSE, Filelist - -Patch 8.2.0106 -Problem: Printf formats are not exactly right. -Solution: Adjust signed/unsigned conversions. (Frazer Clews, closes #5456) -Files: runtime/tools/ccfilter.c, src/libvterm/src/parser.c, - src/libvterm/src/pen.c, src/ui.c - -Patch 8.2.0107 -Problem: Hgignore is out of sync from gitignore. -Solution: Add lines to hgignore. (Ken Takata) -Files: .hgigmore - -Patch 8.2.0108 -Problem: When sign text is changed a manual redraw is needed. (Pontus - Lietzler) -Solution: Redraw automatically. (closes #5455) -Files: src/testdir/test_signs.vim, src/sign.c, - src/testdir/dumps/Test_sign_cursor_1.dump, - src/testdir/dumps/Test_sign_cursor_2.dump, - src/testdir/dumps/Test_sign_cursor_3.dump, - src/testdir/dumps/Test_sign_cursor_01.dump, - src/testdir/dumps/Test_sign_cursor_02.dump - -Patch 8.2.0109 -Problem: Corrupted text properties when expanding spaces. -Solution: Reallocate the line. (Nobuhiro Takasaki, closes #5457) -Files: src/edit.c, src/testdir/test_textprop.vim - -Patch 8.2.0110 -Problem: prop_find() is not implemented. -Solution: Implement prop_find(). (Ryan Hackett, closes #5421, closes #4970) -Files: src/evalfunc.c, src/proto/textprop.pro, - src/testdir/test_textprop.vim, src/textprop.c, - runtime/doc/textprop.txt - -Patch 8.2.0111 -Problem: VAR_SPECIAL is also used for booleans. -Solution: Add VAR_BOOL for better type checking. -Files: src/structs.h, src/dict.c, src/eval.c, src/evalfunc.c, - src/evalvars.c, src/if_lua.c, src/if_mzsch.c, src/if_py_both.h, - src/if_ruby.c, src/json.c, src/popupmenu.c, src/proto/dict.pro, - src/testing.c, src/vim.h, src/viminfo.c - -Patch 8.2.0112 -Problem: Illegal memory access when using 'cindent'. -Solution: Check for NUL byte. (Dominique Pellé, closes #5470) -Files: src/cindent.c, src/testdir/test_cindent.vim - -Patch 8.2.0113 (after 8.2.0095) -Problem: "make cmdidxs" fails. -Solution: Allow address for ":cquit". Add --not-a-term to avoid a delay. -Files: src/ex_cmds.h, src/Makefile, src/Make_cyg_ming.mak, - src/Make_mvc.mak - -Patch 8.2.0114 -Problem: Info about sourced scripts is scattered. -Solution: Use scriptitem_T for info about a script, including s: variables. - Drop ga_scripts. -Files: src/structs.h, src/evalvars.c, src/scriptfile.c, src/eval.c - -Patch 8.2.0115 -Problem: Byte2line() does not work correctly with text properties. (Billie - Cleek) -Solution: Take the bytes of the text properties into account. - (closes #5334) -Files: src/testdir/test_textprop.vim, src/memline.c - -Patch 8.2.0116 -Problem: BufEnter autocmd not triggered on ":tab drop". (Andy Stewart) -Solution: Decrement autocmd_no_enter for the last file. (closes #1660, - closes #5473) -Files: src/arglist.c, src/testdir/test_tabpage.vim - -Patch 8.2.0117 -Problem: Crash when using gettabwinvar() with invalid arguments. (Yilin - Yang) -Solution: Use "curtab" if "tp" is NULL. (closes #5475) -Files: src/evalwindow.c, src/testdir/test_getvar.vim - -Patch 8.2.0118 -Problem: Crash when cycling to buffers involving popup window . -Solution: Do not decrement buffer reference count. -Files: src/popupwin.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_infopopup_7.dump - -Patch 8.2.0119 -Problem: Message test fails on some platforms. (Elimar Riesebieter) -Solution: Add type cast to vim_snprintf() argument. (Dominique Pellé) -Files: src/message_test.c - -Patch 8.2.0120 -Problem: virtcol() does not check arguments to be valid, which may lead to - a crash. -Solution: Check the column to be valid. Do not decrement MAXCOL. - (closes #5480) -Files: src/evalfunc.c, src/testdir/test_marks.vim - -Patch 8.2.0121 -Problem: filter() and map() on blob don't work. -Solution: Correct the code. (closes #5483) -Files: src/list.c, src/testdir/test_blob.vim - -Patch 8.2.0122 -Problem: Readme files still mention MS-DOS. -Solution: Update readme files. (Ken Takata, closes #5486) -Files: README.md, README.txt, READMEdir/README_dos.txt, - READMEdir/README_srcdos.txt, READMEdir/README_w32s.txt, - runtime/doc/os_win32.txt - -Patch 8.2.0123 -Problem: complete_info() does not work when CompleteDone is triggered. -Solution: Trigger CompleteDone before clearing the info. -Files: src/insexpand.c, runtime/doc/autocmd.txt, - src/testdir/test_ins_complete.vim - -Patch 8.2.0124 -Problem: Compiler warnings for variable types. -Solution: Change type, add type cast. (Mike Williams) -Files: src/memline.c - -Patch 8.2.0125 -Problem: :mode no longer works for any system. -Solution: Always give an error message. -Files: src/ex_docmd.c, runtime/doc/quickref.txt, src/os_amiga.c, - src/proto/os_amiga.pro, src/os_mswin.c, src/proto/os_mswin.pro, - src/os_unix.c, src/proto/os_unix.pro - -Patch 8.2.0126 (after 8.2.0124) -Problem: Textprop test fails. -Solution: Fix sign in computation. -Files: src/memline.c - -Patch 8.2.0127 -Problem: Some buffer commands work in a popup window. -Solution: Disallow :bnext, :bprev, etc. (Naruhiko Nishino, closes #5494) -Files: src/ex_docmd.c, src/testdir/test_popupwin.vim - -Patch 8.2.0128 -Problem: Cannot list options one per line. -Solution: Use ":set!" to list one option per line. -Files: src/ex_docmd.c, src/option.c, src/proto/option.pro, src/vim.h, - src/ex_cmds.h, src/optiondefs.h, src/testdir/test_options.vim, - runtime/doc/options.txt - -Patch 8.2.0129 -Problem: MS-Windows installer doesn't use Turkish translations. -Solution: Enable the Turkish translations and fix a few. (Emir Sarı, - closes #5493) -Files: nsis/gvim.nsi, nsis/lang/turkish.nsi - -Patch 8.2.0130 -Problem: Python3 ranges are not tested. -Solution: Add test. (Dominique Pellé, closes #5498) -Files: src/testdir/test_python3.vim - -Patch 8.2.0131 -Problem: Command line is not cleared when switching tabs and the command - line height differs. -Solution: Set the "clear_cmdline" flag when needed. (Naruhiko Nishino, - closes #5495) -Files: src/testdir/dumps/Test_cmdlineclear_tabenter.dump, - src/testdir/test_cmdline.vim, src/window.c - -Patch 8.2.0132 -Problem: Script may be re-used when deleting and creating a new one. -Solution: When the inode matches, also check the file name. -Files: src/scriptfile.c, src/testdir/test_source.vim - -Patch 8.2.0133 -Problem: Invalid memory access with search command. -Solution: When :normal runs out of characters in bracketed paste mode break - out of the loop.(closes #5511) -Files: src/testdir/test_search.vim, src/edit.c - -Patch 8.2.0134 -Problem: Some map functionality not covered by tests. -Solution: Add tests. (Yegappan Lakshmanan, closes #5504) -Files: src/testdir/test_maparg.vim, src/testdir/test_mapping.vim - -Patch 8.2.0135 (after 8.2.0133) -Problem: Bracketed paste can still cause invalid memory access. (Dominique - Pellé) -Solution: Check for NULL pointer. -Files: src/edit.c, src/testdir/test_search.vim - -Patch 8.2.0136 -Problem: Stray ch_logfile() call. -Solution: Remove it. (closes #5503) -Files: src/testdir/test_source.vim - -Patch 8.2.0137 -Problem: Crash when using win_execute() from a new tab. -Solution: Set the tp_*win pointers. (Ozaki Kiichi, closes #5512) -Files: src/testdir/test_winbuf_close.vim, src/window.c - -Patch 8.2.0138 -Problem: Memory leak when starting a job fails. -Solution: Free the list of arguments. (Ozaki Kiichi, closes #5510) -Files: src/channel.c, src/testdir/test_channel.vim - -Patch 8.2.0139 -Problem: MS-Windows: default for IME is inconsistent. -Solution: Also make IME default enabled with MVC. (Ken Takata, closes #5508) -Files: src/Make_mvc.mak - -Patch 8.2.0140 -Problem: CI does not test building doc tags. -Solution: Add the vimtags/gcc build. Cleanup showing version. (Ozaki Kiichi, - closes #5513) -Files: .travis.yml, Filelist, ci/if_ver-1.vim, ci/if_ver-2.vim, - ci/if_ver-cmd.vim, runtime/doc/Makefile, runtime/doc/doctags.vim, - src/testdir/if_ver-1.vim, src/testdir/if_ver-2.vim - -Patch 8.2.0141 -Problem: No swift filetype detection. -Solution: Add swift, swiftgyb and sil. (Emir Sarı, closes #5517) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0142 -Problem: Possible to enter popup window with CTRL-W p. (John Devin) -Solution: Check entered window is not a popup window. (closes #5515) -Files: src/window.c, src/popupwin.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_previewpopup_9.dump, - src/testdir/dumps/Test_popupwin_previewpopup_10.dump - -Patch 8.2.0143 -Problem: Coverity warning for possible use of NULL pointer. -Solution: Check argv is not NULL. -Files: src/channel.c - -Patch 8.2.0144 -Problem: Some mapping code is not fully tested. -Solution: Add more test cases. (Yegappan Lakshmanan, closes #5519) -Files: src/testdir/test_langmap.vim, src/testdir/test_maparg.vim, - src/testdir/test_mapping.vim - -Patch 8.2.0145 -Problem: Using #error for compilation errors should be OK now. -Solution: Use #error. (Ken Takata, closes #5299) -Files: src/blowfish.c, src/vim.h - -Patch 8.2.0146 -Problem: Wrong indent when 'showbreak' and 'breakindent' are set and - 'briopt' includes "sbr". -Solution: Reset "need_showbreak" where needed. (Ken Takata, closes #5523) -Files: src/drawline.c, src/testdir/test_breakindent.vim - -Patch 8.2.0147 -Problem: Block Visual mode operators not correct when 'linebreak' set. -Solution: Set w_p_lbr to lbr_saved more often. (Ken Takata, closes #5524) -Files: src/ops.c, src/testdir/test_listlbr.vim - -Patch 8.2.0148 -Problem: Mapping related function in wrong source file. -Solution: Move the function. Add a few more test cases. (Yegappan - Lakshmanan, closes #5528) -Files: src/map.c, src/proto/term.pro, src/term.c, - src/testdir/test_mapping.vim - -Patch 8.2.0149 -Problem: Maintaining a Vim9 branch separately is more work. -Solution: Merge the Vim9 script changes. -Files: README.md, README_VIM9.md, runtime/doc/Makefile, - runtime/doc/eval.txt, runtime/doc/options.txt, runtime/doc/tags, - runtime/doc/vim9.txt, runtime/ftplugin/vim.vim, - runtime/indent/vim.vim, runtime/syntax/vim.vim, - src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, src/blob.c, - src/channel.c, src/dict.c, src/eval.c, src/evalbuffer.c, - src/evalfunc.c, src/evalvars.c, src/ex_cmdidxs.h, src/ex_cmds.h, - src/ex_docmd.c, src/ex_eval.c, src/filepath.c, src/globals.h, - src/gui.c, src/if_lua.c, src/if_py_both.h, src/insexpand.c, - src/json.c, src/list.c, src/macros.h, src/main.c, src/message.c, - src/misc1.c, src/proto.h, src/proto/blob.pro, src/proto/eval.pro, - src/proto/evalfunc.pro, src/proto/evalvars.pro, - src/proto/ex_docmd.pro, src/proto/ex_eval.pro, src/proto/list.pro, - src/proto/message.pro, src/proto/scriptfile.pro, - src/proto/userfunc.pro, src/proto/vim9compile.pro, - src/proto/vim9execute.pro, src/proto/vim9script.pro, - src/scriptfile.c, src/session.c, src/structs.h, src/syntax.c, - src/testdir/Make_all.mak, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_script.vim, src/testing.c, src/userfunc.c, - src/vim.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/vim9script.c, src/viminfo.c - -Patch 8.2.0150 -Problem: Cannot define python function when using :execute. (Yasuhiro - Matsumoto) -Solution: Do not recognize "def" inside "function. -Files: src/testdir/test_vim9_script.vim, src/userfunc.c - -Patch 8.2.0151 -Problem: Detecting a script was already sourced is unreliable. -Solution: Do not use the inode number. -Files: src/scriptfile.c, src/structs.h, src/testdir/test_vim9_script.vim - -Patch 8.2.0152 -Problem: Restoring ctrl_x_mode is not needed. -Solution: Remove restoring the old value, it's changed again soon. -Files: src/insexpand.c - -Patch 8.2.0153 -Problem: Warning shows when listing version info. -Solution: Use "-u NONE". (Ozaki Kiichi, closes #5534) -Files: .travis.yml - -Patch 8.2.0154 -Problem: Reallocating the list of scripts is inefficient. -Solution: Instead of using a growarray of scriptitem_T, store pointers and - allocate each scriptitem_T separately. Also avoids that the - growarray pointers change when sourcing a new script. -Files: src/globals.h, src/eval.c, src/evalvars.c, src/ex_docmd.c, - src/profiler.c, src/scriptfile.c, src/vim9compile.c, - src/vim9execute.c, src/vim9script.c - -Patch 8.2.0155 -Problem: Warnings from MinGW compiler. (John Marriott) Json test fails when - building without +float feature. -Solution: Init variables. Fix Json parsing. Skip a few tests that require - the +float feature. -Files: src/vim9script.c, src/vim9compile.c, src/vim9execute.c, - src/if_py_both.h, src/json.c, src/testdir/test_method.vim - -Patch 8.2.0156 -Problem: Various typos in source files and tests. -Solution: Fix the typos. (Emir Sarı, closes #5532) -Files: Makefile, src/INSTALLvms.txt, src/Make_vms.mms, src/beval.h, - src/buffer.c, src/charset.c, src/evalvars.c, src/ex_cmds.c, - src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_mac.c, - src/gui_photon.c, src/if_perl.xs, - src/libvterm/t/11state_movecursor.test, - src/libvterm/t/41screen_unicode.test, src/mbyte.c, src/memline.c, - src/normal.c, src/ops.c, src/option.c, src/option.h, - src/os_unix.c, src/os_win32.c, src/quickfix.c, src/register.c, - src/spell.c, src/tag.c, src/term.c, - src/testdir/test_breakindent.vim, src/testdir/test_channel.vim, - src/testdir/test_cindent.vim, src/testdir/test_digraph.vim, - src/testdir/test_edit.vim, src/testdir/test_netbeans.vim, - src/testdir/test_quickfix.vim, src/testdir/test_registers.vim, - src/testdir/test_stat.vim, src/ui.c, src/xxd/xxd.c - -Patch 8.2.0157 -Problem: Vim9 script files not in list of distributed files. -Solution: Add the entries. -Files: Filelist - -Patch 8.2.0158 (after 8.2.0123) -Problem: Triggering CompleteDone earlier is not backwards compatible. - (Daniel Hahler) -Solution: Add CompleteDonePre instead. -Files: src/insexpand.c, runtime/doc/autocmd.txt, src/autocmd.c, - src/vim.h, src/testdir/test_ins_complete.vim - -Patch 8.2.0159 -Problem: Non-materialized range() list causes problems. (Fujiwara Takuya) -Solution: Materialize the list where needed. -Files: src/testdir/test_functions.vim, src/testdir/test_python3.vim, - src/userfunc.c, src/evalfunc.c, src/highlight.c, src/evalvars.c, - src/popupmenu.c, src/insexpand.c, src/json.c, src/channel.c, - src/eval.c - -Patch 8.2.0160 (after 8.2.0159) -Problem: Range test fails. -Solution: Include change in list code. (#5541) -Files: src/list.c - -Patch 8.2.0161 -Problem: Not recognizing .gv file as dot filetype. -Solution: Add *.gv to dot pattern. (closes #5544) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0162 -Problem: Balloon test fails in the GUI. -Solution: Skip test in the GUI. -Files: src/testdir/test_functions.vim - -Patch 8.2.0163 -Problem: Test hangs on MS-Windows console. -Solution: use feedkeys() instead of test_feedinput(). (Ken Takata) -Files: src/testdir/test_functions.vim, src/testing.c - -Patch 8.2.0164 -Problem: Test_alot takes too long. -Solution: Run several tests individually. -Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak - -Patch 8.2.0165 -Problem: Coverity warning for using NULL pointer. -Solution: Add missing "else". -Files: src/vim9compile.c - -Patch 8.2.0166 -Problem: Coverity warning for using uninitialized variable. -Solution: Check for failure. -Files: src/vim9execute.c - -Patch 8.2.0167 -Problem: Coverity warning for ignoring return value. -Solution: Check the return value and jump if failed. -Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0168 -Problem: Coverity warning for assigning NULL to an option. -Solution: Use empty string instead of NULL. -Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0169 -Problem: Coverity warning for dead code. -Solution: Check if inside try-finally. -Files: src/vim9execute.c - -Patch 8.2.0170 -Problem: Coverity warning for ignoring return value. -Solution: Check the return value and return if failed. -Files: src/vim9compile.c - -Patch 8.2.0171 -Problem: Coverity warning for using uninitialized buffer. -Solution: Check the skip flag. -Files: src/userfunc.c - -Patch 8.2.0172 -Problem: Coverity warning for not restoring character. -Solution: Restore the character also in case of failure. -Files: src/vim9script.c - -Patch 8.2.0173 -Problem: Build fails with old compiler. -Solution: Do not use anonymous unions. (John Marriott) -Files: src/vim9compile.c, src/evalvars.c, src/list.c, src/structs.h, - src/evalfunc.c, src/channel.c, src/if_mzsch.c, src/if_py_both.h - -Patch 8.2.0174 -Problem: Various commands not completely tested. -Solution: Add more test cases. (Yegappan Lakshmanan, closes #5551) -Files: src/testdir/test_excmd.vim, src/testdir/test_fnameescape.vim, - src/testdir/test_ga.vim, src/testdir/test_global.vim, - src/testdir/test_move.vim, src/testdir/test_options.vim, - src/testdir/test_packadd.vim, src/testdir/test_sort.vim, - src/testdir/test_substitute.vim, src/testdir/test_textformat.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0175 -Problem: Crash when removing list element in map(). -Solution: Lock the list. (closes #2652) -Files: src/testdir/test_filter_map.vim, src/list.c - -Patch 8.2.0176 -Problem: Generating os headers does not work for Swedish. -Solution: Set the locale to C. (Christian Brabandt, closes #5258) -Files: src/osdef.sh - -Patch 8.2.0177 -Problem: Memory leak in get_tags(). -Solution: Free matches when finding a pseudo-tag line. (Dominique Pellé, - closes #5553) -Files: src/tag.c - -Patch 8.2.0178 -Problem: With VTP the screen may not be restored properly. -Solution: Add another set of saved RGB values. (Nobuhiro Takasaki, - closes #5548) -Files: src/os_win32.c - -Patch 8.2.0179 -Problem: Still a few places where range() does not work. -Solution: Fix using range() causing problems. -Files: src/terminal.c, src/testdir/test_functions.vim, - src/testdir/test_popupwin.vim, src/popupwin.c, src/tag.c, - src/testdir/dumps/Test_popupwin_20.dump, - src/testdir/dumps/Test_popupwin_21.dump, - src/testdir/dumps/Test_popup_settext_07.dump, src/globals.h - -Patch 8.2.0180 -Problem: Test for wrapmargin fails if terminal is not 80 columns. -Solution: Vertical split the window. (Ken Takata, closes #5554) -Files: src/testdir/test_textformat.vim - -Patch 8.2.0181 -Problem: Problems parsing :term arguments. -Solution: Improve parsing, fix memory leak, add tests. (Ozaki Kiichi, - closes #5536) -Files: src/channel.c, src/proto/channel.pro, src/structs.h, - src/terminal.c, src/testdir/test_terminal.vim - -Patch 8.2.0182 -Problem: Min() and max() materialize a range() list. -Solution: Compute the result without materializing the list. (#5541) -Files: src/evalfunc.c - -Patch 8.2.0183 -Problem: Tests fail when the float feature is disabled. -Solution: Skip tests that don't work without float support. -Files: src/testdir/shared.vim, src/testdir/test_blob.vim, - src/testdir/test_channel.vim, src/testdir/test_cscope.vim, - src/testdir/test_execute_func.vim, src/testdir/test_expr.vim, - src/testdir/test_functions.vim, src/testdir/test_lambda.vim, - src/testdir/test_listdict.vim, src/testdir/test_lua.vim, - src/testdir/test_options.vim, src/testdir/test_partial.vim, - src/testdir/test_ruby.vim, src/testdir/test_sort.vim, - src/testdir/test_timers.vim, src/testdir/test_true_false.vim, - src/testdir/test_user_func.vim, src/testdir/test_vim9_expr.vim, - src/testdir/test_vimscript.vim, src/testdir/test_regexp_latin.vim, - src/testdir/test_glob2regpat.vim - -Patch 8.2.0184 -Problem: Blob test fails. -Solution: Check for different error when float feature is missing. -Files: src/testdir/test_blob.vim - -Patch 8.2.0185 -Problem: Vim9 script: cannot use "if has()" to skip lines. -Solution: Evaluate constant expression at runtime. -Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, - src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0186 -Problem: A couple of tests may fail when features are missing. -Solution: Check for features. (Dominique Pellé, closes #5561) -Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim - -Patch 8.2.0187 -Problem: Redundant code. -Solution: Remove unused assignments. (Dominique Pellé, closes #5557) -Files: src/vim9compile.c - -Patch 8.2.0188 -Problem: Check commands don't work well with Vim9 script. -Solution: Improve constant expression handling. -Files: src/vim9compile.c, src/testdir/check.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.0189 -Problem: cd() with NULL argument crashes. -Solution: Check for NULL. (Ken Takata, closes #5558) -Files: src/testdir/test_cd.vim, src/ex_docmd.c - -Patch 8.2.0190 -Problem: Kotlin files are not recognized. -Solution: Detect Kotlin files. (Alkeryn, closes #5560) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0191 -Problem: Cannot put a terminal in a popup window. -Solution: Allow opening a terminal in a popup window. It will always have - keyboard focus until closed. -Files: src/popupwin.c, src/proto/popupwin.pro, src/terminal.c, - src/proto/terminal.pro, src/macros.h, src/mouse.c, - src/highlight.c, src/drawline.c, src/optionstr.c, src/window.c, - src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_1.dump, - src/testdir/dumps/Test_terminal_popup_2.dump, - src/testdir/dumps/Test_terminal_popup_3.dump - -Patch 8.2.0192 (after 8.2.0191) -Problem: Build failure without +terminal feature. -Solution: Add #ifdefs. -Files: src/popupwin.c - -Patch 8.2.0193 (after 8.2.0191) -Problem: Still build failure without +terminal feature. -Solution: Add more #ifdefs. -Files: src/macros.h - -Patch 8.2.0194 (after 8.2.0193) -Problem: Some commands can cause problems in terminal popup. -Solution: Disallow more commands. -Files: src/macros.h, src/popupwin.c, src/proto/popupwin.pro, - src/arglist.c, src/ex_docmd.c, src/window.c, - src/testdir/test_terminal.vim - -Patch 8.2.0195 -Problem: Some tests fail when run in the GUI. -Solution: Make sure the window width is enough. In the GUI run terminal Vim - in the terminal, if possible. -Files: src/testdir/test_highlight.vim, src/testdir/check.vim, - src/testdir/test_terminal.vim - -Patch 8.2.0196 -Problem: Blocking commands for a finished job in a popup window. -Solution: Do not block commands if the job has finished. Adjust test. -Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/window.c, - src/terminal.c, src/proto/terminal.pro - -Patch 8.2.0197 -Problem: Some Ex commands not sufficiently tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5565) -Files: src/testdir/test_global.vim, src/testdir/test_help.vim, - src/testdir/test_help_tagjump.vim, src/testdir/test_options.vim, - src/testdir/test_substitute.vim, src/testdir/test_textformat.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0198 -Problem: No tests for y/n prompt. -Solution: Add tests. (Dominique Pellé, closes #5564) -Files: src/testdir/test_messages.vim - -Patch 8.2.0199 -Problem: Vim9 script commands not sufficiently tested. -Solution: Add more tests. Fix script-local function use. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, - src/userfunc.c - -Patch 8.2.0200 -Problem: Vim9 script commands not sufficiently tested. -Solution: Add more tests. Fix storing global variable. Make script - variables work. -Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/evalvars.c, - src/proto/evalvars.pro, src/testdir/test_vim9_script.vim, - src/misc1.c, src/proto/misc1.pro - -Patch 8.2.0201 -Problem: Cannot assign to an imported variable. -Solution: Make it work. -Files: src/evalvars.c, src/vim9compile.c, src/proto/vim9compile.pro, - src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0202 -Problem: When 'lazyredraw' is set the window title may not be updated. -Solution: Set "do_redraw" before entering the main loop. (Jason Franklin) -Files: src/main.c - -Patch 8.2.0203 -Problem: :helptags and some other functionality not tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5567) -Files: src/testdir/test_compiler.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_excmd.vim, src/testdir/test_filechanged.vim, - src/testdir/test_help.vim, src/testdir/test_help_tagjump.vim, - src/testdir/test_timers.vim, src/testdir/test_window_cmd.vim - -Patch 8.2.0204 -Problem: Crash when using winnr('j') in a popup window. -Solution: Do not search for neighbors in a popup window. (closes #5568) -Files: src/window.c, src/testdir/test_popupwin.vim, src/evalwindow.c - -Patch 8.2.0205 -Problem: Error code E899 used twice. -Solution: Use E863 for the terminal in popup error. -Files: src/popupwin.c - -Patch 8.2.0206 -Problem: Calling Vim9 function using default argument fails. -Solution: Give an appropriate error. (closes #5572) -Files: src/testdir/test_vim9_script.vim, src/vim9compile.c, - src/vim9execute.c - -Patch 8.2.0207 -Problem: Crash when missing member type on list argument. -Solution: Check for invalid type. (closes #5572) -Files: src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0208 -Problem: Fnamemodify() does not apply ":~" when followed by ":.". -Solution: Don't let a failing ":." cause the ":~" to be skipped. (Yasuhiro - Matsumoto, closes #5577) -Files: runtime/doc/cmdline.txt, src/filepath.c, - src/testdir/test_fnamemodify.vim - -Patch 8.2.0209 -Problem: Function a bit far away from where it's used. -Solution: Move function close to where it's used. (Ken Takata, closes #5569) -Files: src/fileio.c, src/filepath.c - -Patch 8.2.0210 -Problem: Coverity complains about uninitialized field. -Solution: Initialize the field. -Files: src/vim9compile.c - -Patch 8.2.0211 -Problem: Test for ANSI colors fails without an "ls" command. -Solution: Use "dir". (Ken Takata, closes #5582) -Files: src/testdir/test_functions.vim - -Patch 8.2.0212 -Problem: Missing search/substitute pattern hardly tested. -Solution: Add test_clear_search_pat() and tests. (Yegappan Lakshmanan, - closes #5579) -Files: runtime/doc/eval.txt, runtime/doc/testing.txt, - runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/regexp.pro, - src/proto/search.pro, src/proto/testing.pro, src/regexp.c, - src/search.c, src/testdir/test_quickfix.vim, - src/testdir/test_search.vim, src/testdir/test_sort.vim, - src/testdir/test_substitute.vim, src/testing.c - -Patch 8.2.0213 -Problem: Configure does not recognize gcc 10.0 and later. -Solution: Adjust the pattern matching the version number. (Sergei - Trofimovich, closes #5580) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.0214 -Problem: A popup window with a terminal can be made hidden. -Solution: Disallow hiding a terminal popup. -Files: src/testdir/test_terminal.vim, src/popupwin.c, - src/testdir/dumps/Test_terminal_popup_4.dump - -Patch 8.2.0215 (after 8.2.0208) -Problem: Wrong file name shortening. (Ingo Karkat) -Solution: Better check for path separator. (Yasuhiro Matsumoto, - closes #5583, closes #5584) -Files: src/filepath.c, src/testdir/test_fnamemodify.vim - -Patch 8.2.0216 -Problem: Several Vim9 instructions are not tested. -Solution: Add more tests. Fix :disassemble output. Make catch with pattern - work. -Files: src/testdir/test_vim9_script.vim, src/vim9execute.c, - src/vim9compile.c - -Patch 8.2.0217 (after 8.2.0214) -Problem: Terminal test fails on Mac. -Solution: Add a short wait. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0218 -Problem: Several Vim9 instructions are not tested. -Solution: Add more tests. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0219 (after 8.2.0217) -Problem: Terminal test still fails on Mac. -Solution: Skip part of the test on Mac. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0220 -Problem: Terminal test did pass on Mac. -Solution: Remove the skip again. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0221 -Problem: No test for Vim9 += and ..=. -Solution: Add tests. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0222 -Problem: Vim9: optional function arguments don't work yet. -Solution: Implement optional function arguments. -Files: src/userfunc.c, src/vim9compile.c, src/vim9execute.c, - src/structs.h, src/testdir/test_vim9_script.vim - -Patch 8.2.0223 -Problem: Some instructions not yet tested. -Solution: Disassemble more instructions. Move tests to a new file. Compile - call to s:function(). -Files: src/testdir/test_vim9_script.vim, src/testdir/Make_all.mak, - src/testdir/test_vim9_disassemble.vim, src/vim9compile.c, - src/userfunc.c, src/proto/userfunc.pro, src/vim.h - -Patch 8.2.0224 -Problem: compiling :elseif not tested yet. -Solution: Add test for :elseif. Fix generating jumps. -Files: src/testdir/test_vim9_script.vim, src/vim9compile.c, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0225 -Problem: compiling lambda not tested yet. -Solution: Add test for lambda and funcref. Drop unused instruction arg. -Files: src/testdir/test_vim9_disassemble.vim, src/vim9.h, - src/vim9execute.c - -Patch 8.2.0226 -Problem: Compiling for loop not tested. -Solution: Add a test. Make variable initialization work for more types. -Files: src/testdir/test_vim9_disassemble.vim, src/vim9compile.c - -Patch 8.2.0227 -Problem: Compiling a few instructions not tested. -Solution: Add more test cases. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0228 -Problem: Configure does not recognize gcc version on BSD. -Solution: Do not use "\+" in the pattern matching the version number. (Ozaki - Kiichi, closes #5590) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.0229 -Problem: Compare instructions not tested. -Solution: Add test cases. Fix disassemble with line continuation. -Files: src/testdir/test_vim9_disassemble.vim, src/vim9execute.c, - src/vim9compile.c - -Patch 8.2.0230 -Problem: Terminal popup test is flaky. -Solution: Increase wait time a bit. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0231 -Problem: Silent system command may clear the screen. -Solution: Do not clear the screen in t_te. -Files: src/term.c - -Patch 8.2.0232 -Problem: The :compiler command causes a crash. (Daniel Steinberg) -Solution: Do not use the script index if it isn't set. -Files: src/ex_docmd.c, src/testdir/test_compiler.vim - -Patch 8.2.0233 -Problem: Crash when using garbagecollect() in between rand(). -Solution: Redesign the rand() and srand() implementation. (Yasuhiro - Matsumoto, closes #5587, closes #5588) -Files: src/evalfunc.c, src/testdir/test_random.vim, - runtime/doc/testing.txt, runtime/doc/eval.txt - -Patch 8.2.0234 -Problem: Message test fails on SunOS. -Solution: Adjust expectation for printf "%p". (Ozaki Kiichi, closes #5595) -Files: src/message_test.c - -Patch 8.2.0235 -Problem: Draw error when an empty group is removed from 'statusline'. -Solution: Do not use highlighting from a removed group. -Files: src/buffer.c, src/testdir/test_statusline.vim, - src/testdir/dumps/Test_statusline_1.dump - -Patch 8.2.0236 -Problem: MS-Windows uninstall doesn't delete vimtutor.bat. -Solution: Change directory before deletion. (Ken Takata, closes #5603) -Files: src/uninstall.c - -Patch 8.2.0237 -Problem: Crash when setting 'wincolor' on finished terminal window. - (Bakudankun) -Solution: Check that the vterm is not NULL. (Yasuhiro Matsumoto, closes - #5607, closes #5610) -Files: src/terminal.c, src/testdir/test_terminal.vim - -Patch 8.2.0238 -Problem: MS-Windows: job_stop() results in exit value zero. -Solution: Call TerminateJobObject() with -1 instead of 0. (Yasuhiro - Matsumoto, closes #5150, closes #5614) -Files: src/os_win32.c, src/testdir/test_channel.vim - -Patch 8.2.0239 -Problem: MS-Windows: 'env' job option does not override existing - environment variables. (Tim Pope) -Solution: Set the environment variables later. (Yasuhiro Matsumoto, - closes #5485, closes #5608) -Files: src/os_win32.c, src/testdir/test_channel.vim - -Patch 8.2.0240 -Problem: Using memory after it was freed. (Dominique Pellé) -Solution: Do not mix conversion buffer with other buffer. -Files: src/viminfo.c, src/vim.h - -Patch 8.2.0241 -Problem: Crash when setting 'buftype' to "quickfix". -Solution: Check that error list is not NULL. (closes #5613) -Files: src/quickfix.c, src/testdir/test_quickfix.vim - -Patch 8.2.0242 -Problem: Preview popup window test fails with long directory name. (Jakub - Kądziołka) -Solution: Use "silent cd". (closes #5615) -Files: src/testdir/test_popupwin.vim - -Patch 8.2.0243 -Problem: Insufficient code coverage for ex_docmd.c functions. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5618) -Files: src/testdir/Make_all.mak, src/testdir/test_arglist.vim, - src/testdir/test_buffer.vim, src/testdir/test_cd.vim, - src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_excmd.vim, src/testdir/test_mapping.vim, - src/testdir/test_quickfix.vim, src/testdir/test_search.vim, - src/testdir/test_sort.vim, src/testdir/test_source.vim, - src/testdir/test_substitute.vim, src/testdir/test_undo.vim, - src/testdir/test_vimscript.vim, src/testdir/test_window_cmd.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0244 -Problem: Compiler warning in Lua interface. -Solution: Add type cast. (Ken Takata, closes #5621) -Files: src/if_lua.c - -Patch 8.2.0245 -Problem: MSVC: error message if the auto directory already exists. -Solution: Add "if not exists". (Ken Takata, closes #5620) -Files: src/Make_mvc.mak - -Patch 8.2.0246 -Problem: MSVC: deprecation warnings with Ruby. -Solution: Move _CRT_SECURE_NO_DEPRECATE to build file. (Ken Takata, - closes #5622) -Files: src/Make_mvc.mak, src/if_ruby.c, src/os_win32.h, src/vim.h, - src/vimio.h - -Patch 8.2.0247 -Problem: Misleading comment in NSIS installer script. -Solution: Negate the meaning of the comment. (Ken Takata, closes #5627) -Files: nsis/gvim.nsi - -Patch 8.2.0248 -Problem: MS-Windows: dealing with deprecation is too complicated. -Solution: Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build - file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken - Takata, closes #5626) -Files: src/Make_mvc.mak, src/dosinst.h, src/vim.h, src/vimio.h, - src/winclip.c, Filelist - -Patch 8.2.0249 -Problem: MS-Windows: various warnings. -Solution: Set the charset to utf-8. Add _WIN32_WINNT and _USING_V110_SDK71_. - (Ken Takata, closes #5625) -Files: src/GvimExt/Makefile, src/Make_mvc.mak - -Patch 8.2.0250 -Problem: test_clear_search_pat() is unused. -Solution: Remove the function. (Yegappan Lakshmanan, closes #5624) -Files: runtime/doc/eval.txt, runtime/doc/testing.txt, - runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/regexp.pro, - src/proto/search.pro, src/proto/testing.pro, src/regexp.c, - src/search.c, src/testdir/test_writefile.vim, src/testing.c - -Patch 8.2.0251 -Problem: A couple of function return types can be more specific. -Solution: Use a better return type. (Ken Takata, closes #5629) -Files: src/evalfunc.c, src/globals.h - -Patch 8.2.0252 -Problem: Windows compiler warns for using size_t. -Solution: Change to int. (Mike Williams) -Files: src/vim9compile.c - -Patch 8.2.0253 -Problem: Crash when using :disassemble without argument. (Dhiraj Mishra) -Solution: Check for missing argument. (Dominique Pellé, closes #5635, - closes #5637) -Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim, - src/ex_cmds.h - -Patch 8.2.0254 -Problem: Compiler warning for checking size_t to be negative. -Solution: Only check for zero. (Zoltan Arpadffy) -Files: src/vim9compile.c - -Patch 8.2.0255 -Problem: VMS: missing files in build. -Solution: Add the files. (Zoltan Arpadffy) -Files: src/Make_vms.mms - -Patch 8.2.0256 -Problem: Time and timer related code is spread out. -Solution: Move time and timer related code to a new file. (Yegappan - Lakshmanan, closes #5604) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/main.c, - src/memline.c, src/misc1.c, src/misc2.c, src/proto.h, - src/proto/ex_cmds.pro, src/proto/ex_cmds2.pro, src/proto/main.pro, - src/proto/memline.pro, src/proto/misc1.pro, src/proto/misc2.pro, - src/proto/time.pro, src/time.c - -Patch 8.2.0257 -Problem: Cannot recognize a terminal in a popup window. -Solution: Add the win_gettype() function. -Files: runtime/doc/eval.txt, src/evalfunc.c, src/evalwindow.c, - src/proto/evalwindow.pro, src/testdir/test_cmdline.vim, - src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_1.dump - -Patch 8.2.0258 -Problem: ModifyOtherKeys cannot be temporarily disabled. -Solution: Add echoraw() with an example for modifyOtherKeys. -Files: runtime/doc/eval.txt, src/evalfunc.c, - src/testdir/test_functions.vim, - src/testdir/dumps/Test_functions_echoraw.dump - -Patch 8.2.0259 -Problem: Terminal in popup test sometimes fails. -Solution: Clear the command line. -Files: src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_1.dump - -Patch 8.2.0260 -Problem: Several lines of code are duplicated. -Solution: Move duplicated code to a function. (Yegappan Lakshmanan, - closes #5330) -Files: src/option.c, src/os_unix.c, src/os_win32.c, src/proto/term.pro, - src/quickfix.c, src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c, - src/term.c - -Patch 8.2.0261 -Problem: Some code not covered by tests. -Solution: Add test cases. (Yegappan Lakshmanan, closes #5645) -Files: src/testdir/test_buffer.vim, src/testdir/test_cmdline.vim, - src/testdir/test_exists.vim, src/testdir/test_filechanged.vim, - src/testdir/test_fileformat.vim, src/testdir/test_mapping.vim, - src/testdir/test_marks.vim, src/testdir/test_normal.vim, - src/testdir/test_plus_arg_edit.vim, src/testdir/test_quickfix.vim, - src/testdir/test_tabpage.vim, src/testdir/test_visual.vim, - src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim - -Patch 8.2.0262 (after 8.2.0261) -Problem: Fileformat test fails on MS-Windows. -Solution: Set fileformat of buffer. -Files: src/testdir/test_fileformat.vim - -Patch 8.2.0263 -Problem: A few new Vim9 messages are not localized. -Solution: Add the gettext wrapper. (Dominique Pellé, closes #5647) -Files: src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0264 (after 8.2.0262) -Problem: Fileformat test still fails on MS-Windows. -Solution: Set fileformat of buffer in the right place. -Files: src/testdir/test_fileformat.vim - -Patch 8.2.0265 -Problem: "eval" after "if 0" doesn't check for following command. -Solution: Add "eval" to list of commands that check for a following command. - (closes #5640) -Files: src/ex_docmd.c, src/testdir/test_expr.vim - -Patch 8.2.0266 -Problem: Terminal in popup test sometimes fails on Mac. -Solution: Add a short delay. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0267 -Problem: No check for a following command when calling a function fails. -Solution: Also check for a following command when inside a try block. - (closes #5642) -Files: src/userfunc.c, src/testdir/test_user_func.vim - -Patch 8.2.0268 (after 8.2.0267) -Problem: Trycatch test fails. -Solution: When calling function fails only check for following command, do - not give another error. -Files: src/userfunc.c - -Patch 8.2.0269 -Problem: Vim9: operator after list index does not work. (Yasuhiro - Matsumoto) -Solution: After indexing a list change the type to the list member type. - (closes #5651) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0270 -Problem: Some code not covered by tests. -Solution: Add test cases. (Yegappan Lakshmanan, closes #5649) -Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, - src/testdir/test_edit.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_excmd.vim, src/testdir/test_expand.vim, - src/testdir/test_filetype.vim, src/testdir/test_findfile.vim, - src/testdir/test_join.vim, src/testdir/test_move.vim, - src/testdir/test_normal.vim, src/testdir/test_registers.vim, - src/testdir/test_source.vim, src/testdir/test_tabpage.vim, - src/testdir/test_tagjump.vim, src/testdir/test_vimscript.vim, - src/testdir/test_visual.vim, src/testdir/test_window_cmd.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0271 -Problem: The "num64" feature is available everywhere and building without - it causes problems. -Solution: Graduate the "num64" feature. (James McCoy, closes #5650) -Files: src/evalfunc.c, src/feature.h, src/message.c, src/structs.h, - src/testdir/test_expr.vim, src/testdir/test_largefile.vim, - src/testdir/test_sort.vim, src/testdir/test_vimscript.vim, - src/version.c - -Patch 8.2.0272 -Problem: ":helptags ALL" gives error for directories without write - permission. (Matěj Cepl) -Solution: Ignore errors for ":helptags ALL". (Ken Takata, closes #5026, - closes #5652) -Files: src/ex_cmds.c, src/testdir/test_help.vim - -Patch 8.2.0273 -Problem: MS-Windows uninstall may delete wrong batch file. -Solution: Add specific marker in the generated batch file. (Ken Takata, - closes #5654) -Files: src/Make_mvc.mak, src/dosinst.c, src/dosinst.h, src/uninstall.c - -Patch 8.2.0274 -Problem: Hang with combination of feedkeys(), Ex mode and :global. - (Yegappan Lakshmanan) -Solution: Add the pending_exmode_active flag. -Files: src/ex_docmd.c, src/globals.h, src/getchar.c, - src/testdir/test_ex_mode.vim - -Patch 8.2.0275 -Problem: Some Ex code not covered by tests. -Solution: Add test cases. (Yegappan Lakshmanan, closes #5659) -Files: src/testdir/test_arglist.vim, src/testdir/test_autocmd.vim, - src/testdir/test_excmd.vim, src/testdir/test_quickfix.vim, - src/testdir/test_search.vim, src/testdir/test_swap.vim, - src/testdir/test_window_cmd.vim - -Patch 8.2.0276 -Problem: Vim9: not allowing space before ")" in function call is too - restrictive. (Ben Jackson) -Solution: Skip space before the ")". Adjust other space checks. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0277 -Problem: Vim9: not all instructions covered by tests. -Solution: Add more test cases. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0278 -Problem: Channel test is flaky on Mac. -Solution: Reset variable before sending message. -Files: src/testdir/test_channel.vim - -Patch 8.2.0279 -Problem: Vim9: no test for deleted :def function. -Solution: Add a test. Clear uf_cleared flag when redefining a function. -Files: src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0280 -Problem: Vim9: throw in :def function not caught higher up. -Solution: Set "need_rethrow". -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0281 -Problem: Two placed signs in the same line are not combined. E.g. in the - terminal debugger a breakpoint and the PC cannot be both be - displayed. -Solution: Combine the sign column and line highlight attributes. -Files: src/sign.c, src/testdir/test_signs.vim, - src/testdir/dumps/Test_sign_cursor_3.dump, - src/testdir/dumps/Test_sign_cursor_4.dump - -Patch 8.2.0282 -Problem: Vim9: setting number option not tested. -Solution: Add more tests. Fix assigning to global variable. -Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, - src/vim9execute.c - -Patch 8.2.0283 -Problem: Vim9: failing to load script var not tested. -Solution: Add more tests. Fix using s: in old script. -Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0284 -Problem: Vim9: assignment test fails. -Solution: Avoid duplicating "s:". -Files: src/vim9compile.c - -Patch 8.2.0285 -Problem: Unused error message. Cannot create s:var. -Solution: Remove the error message. Make assignment to s:var work. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0286 -Problem: Cannot use popup_close() for a terminal popup. -Solution: Allow using popup_close(). (closes #5666) -Files: src/popupwin.c, runtime/doc/popup.txt, - src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_5.dump, - src/testdir/dumps/Test_terminal_popup_6.dump - -Patch 8.2.0287 -Problem: Vim9: return in try block not tested; catch with pattern not - tested. -Solution: Add tests. Make it work. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0288 -Problem: Vim9: some float and blob operators not tested. -Solution: Add float and blob tests. Fix addition. -Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c - -Patch 8.2.0289 -Problem: Vim9: :echo did not clear the rest of the line. -Solution: Call msg_clr_eos(). (Ken Takata, closes #5668) -Files: src/vim9execute.c - -Patch 8.2.0290 -Problem: Running individual test differs from all tests. -Solution: Pass on environment variables. (Yee Cheng Chin, closes #5672) -Files: src/testdir/Makefile, src/testdir/README.txt - -Patch 8.2.0291 -Problem: Vim9: assigning [] to list<string> doesn't work. -Solution: Use void for empty list and dict. (Ken Takata, closes #5669) -Files: src/vim9compile.c, src/globals.h, src/testdir/test_vim9_script.vim - -Patch 8.2.0292 -Problem: Vim9: CHECKNR and CHECKTYPE instructions not tested. -Solution: Add tests. -Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim - -Patch 8.2.0293 -Problem: Various Ex commands not sufficiently tested. -Solution: Add more test cases. (Yegappan Lakshmanan, closes #5673) -Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, - src/testdir/test_ex_mode.vim, src/testdir/test_excmd.vim, - src/testdir/test_expand.vim, src/testdir/test_filetype.vim, - src/testdir/test_filter_cmd.vim, src/testdir/test_global.vim, - src/testdir/test_normal.vim, src/testdir/test_plus_arg_edit.vim, - src/testdir/test_quickfix.vim, src/testdir/test_trycatch.vim, - src/testdir/test_vimscript.vim - -Patch 8.2.0294 -Problem: Cannot use Ex command that is also a function name. -Solution: Recognize an Ex command by a colon prefix. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, - runtime/doc/vim9.txt - -Patch 8.2.0295 -Problem: Highlighting for :s wrong when using different separator. -Solution: Use separate argument for search direction and separator. (Rob - Pilling, closes #5665) -Files: src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/normal.c, - src/proto/search.pro, src/quickfix.c, src/search.c, src/spell.c, - src/tag.c, src/testdir/dumps/Test_incsearch_substitute_15.dump, - src/testdir/test_search.vim - -Patch 8.2.0296 -Problem: Mixing up "long long" and __int64 may cause problems. (John - Marriott) -Solution: Pass varnumber_T to vim_snprintf(). Add v:numbersize. -Files: src/message.c, src/eval.c, src/fileio.c, src/json.c, src/ops.c, - src/vim.h, src/structs.h, src/evalvars.c, runtime/doc/eval.txt, - runtime/doc/various.txt, src/testdir/test_eval_stuff.vim - -Patch 8.2.0297 -Problem: Compiler warnings for the Ruby interface. -Solution: Undefine a few macros, fix initialization. (Ozaki Kiichi, - closes #5677) -Files: src/if_ruby.c - -Patch 8.2.0298 -Problem: Vim9 script: cannot start command with a string constant. -Solution: Recognize expression starting with '('. -Files: src/ex_docmd.c, src/vim9compile.c, - src/testdir/test_vim9_script.vim, runtime/doc/vim9.txt - -Patch 8.2.0299 -Problem: Vim9: ISN_STORE with argument not tested. Some cases in tv2bool() - not tested. -Solution: Add tests. Add test_unknown() and test_void(). -Files: src/testing.c, src/proto/testing.pro, src/evalfunc.c, - src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim, runtime/doc/eval.txt, - runtime/doc/testing.txt - -Patch 8.2.0300 -Problem: Vim9: expression test fails without channel support. -Solution: Add has('channel') check. -Files: src/testdir/test_vim9_expr.vim - -Patch 8.2.0301 -Problem: Insufficient testing for exception handling and the "attention" - prompt. -Solution: Add test cases. (Yegappan Lakshmanan, closes #5681) -Files: src/testdir/test_swap.vim, src/testdir/test_trycatch.vim - -Patch 8.2.0302 -Problem: Setting 'term' may cause error in TermChanged autocommand. -Solution: Use aucmd_prepbuf() to switch to the buffer where the autocommand - is to be executed. (closes #5682) -Files: src/term.c, src/testdir/test_autocmd.vim - -Patch 8.2.0303 -Problem: TermChanged test fails in the GUI. -Solution: Skip the test when running the GUI. -Files: src/testdir/test_autocmd.vim - -Patch 8.2.0304 -Problem: Terminal test if failing on some systems. -Solution: Wait for the job to finish. (James McCoy) -Files: src/testdir/test_terminal.vim - -Patch 8.2.0305 -Problem: Relativenumber test fails on some systems. (James McCoy) -Solution: Clear the command line. -Files: src/testdir/test_number.vim, - src/testdir/dumps/Test_relnr_colors_2.dump, - src/testdir/dumps/Test_relnr_colors_3.dump - -Patch 8.2.0306 -Problem: Vim9: :substitute(pat(repl does not work in Vim9 script. -Solution: Remember starting with a colon. (closes #5676) -Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0307 -Problem: Python 3 vim.eval not well tested. -Solution: Add a test. (Dominique Pellé, closes #5680) -Files: src/testdir/test_python3.vim - -Patch 8.2.0308 -Problem: 'showbreak' does not work for a very long line. (John Little) -Solution: Check whether 'briopt' contains "sbr". (Ken Takata, closes #5523, - closes #5684) -Files: src/drawline.c, src/testdir/test_breakindent.vim - -Patch 8.2.0309 -Problem: Window-local values have confusing name. -Solution: Rename w_p_bri* to w_briopt_*. -Files: src/structs.h, src/indent.c, src/drawline.c - -Patch 8.2.0310 -Problem: Autocmd test fails on a slow system. -Solution: Adjust the expectations. (James McCoy, closes #5685) -Files: src/testdir/test_autocmd.vim - -Patch 8.2.0311 -Problem: Vim9: insufficient script tests. -Solution: Add tests. Free imports when re-using a script. -Files: src/testdir/test_vim9_script.vim, src/scriptfile.c - -Patch 8.2.0312 -Problem: Vim9: insufficient script tests. -Solution: Add more tests. Make "import * as Name" work. -Files: src/testdir/test_vim9_script.vim, src/vim9script.c, - src/proto/vim9script.pro, src/vim9compile.c - -Patch 8.2.0313 -Problem: Vim9: insufficient script tests. -Solution: Add tests. Make import of alphanumeric name work. -Files: src/testdir/test_vim9_script.vim, src/vim9script.c - -Patch 8.2.0314 -Problem: Short name not set for terminal buffer. -Solution: Set the short name. (closes #5687) -Files: src/terminal.c, src/testdir/test_terminal.vim - -Patch 8.2.0315 -Problem: Build failure on HP-UX system. -Solution: Use LONG_LONG_MIN instead of LLONG_MIN. Add type casts for switch - statement. (John Marriott) -Files: src/structs.h, src/json.c - -Patch 8.2.0316 -Problem: ex_getln.c code has insufficient test coverage. -Solution: Add more tests. Fix a problem. (Yegappan Lakshmanan, closes #5693) -Files: src/cmdhist.c, src/testdir/test_cmdline.vim, - src/testdir/test_functions.vim, src/testdir/test_history.vim, - src/testdir/test_menu.vim - -Patch 8.2.0317 -Problem: MSVC: _CRT_SECURE_NO_DEPRECATE not defined on DEBUG build. -Solution: Move where CFLAGS is updated. (Ken Takata, closes #5692) -Files: src/Make_mvc.mak - -Patch 8.2.0318 -Problem: Vim9: types not sufficiently tested. -Solution: Add tests with more types. -Files: src/globals.h, src/vim9compile.c, - src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim - -Patch 8.2.0319 -Problem: File missing in distribution, comments outdated. -Solution: Correct path of README file. Update comments. -Files: Filelist, src/evalvars.c, src/register.c, src/if_python3.c - -Patch 8.2.0320 -Problem: No Haiku support. -Solution: Add support for Haiku. (Emir Sarı, closes #5605) -Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt, - runtime/doc/gui.txt, runtime/doc/help.txt, - runtime/doc/options.txt, runtime/doc/os_haiku.txt, - runtime/doc/starting.txt, runtime/doc/tags, - runtime/gvimrc_example.vim, runtime/vimrc_example.vim, - src/INSTALL, src/Makefile, src/auto/configure, src/configure.ac, - src/evalfunc.c, src/feature.h, src/fileio.c, src/globals.h, - src/gui.c, src/gui.h, src/gui_haiku.cc, src/gui_haiku.h, - src/mbyte.c, src/menu.c, src/misc1.c, src/mouse.c, src/option.h, - src/os_haiku.h, src/os_haiku.rdef, src/os_unix.c, src/os_unix.h, - src/osdef1.h.in, src/proto.h, src/proto/gui_haiku.pro, src/pty.c, - src/screen.c, src/structs.h, src/term.c, src/version.c, src/vim.h - -Patch 8.2.0321 -Problem: Vim9: ":execute" does not work yet. -Solution: Add ISN_EXECUTE. (closes #5699) Also make :echo work with more - than one argument. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.0322 -Problem: Vim9: error checks not tested. -Solution: Add more test cases. Avoid error for function loaded later. -Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0323 -Problem: Vim9: calling a function that is defined later is slow. -Solution: Once the function is found update the instruction so it can be - called directly. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0324 -Problem: Text property not updated correctly when inserting/deleting. -Solution: Use the right column when deleting. Make zero-width text - properties respect start_incl and end_incl. (Axel Forsman, - closes #5696, closes #5679) -Files: src/change.c, src/textprop.c, src/testdir/test_listener.vim, - src/testdir/test_textprop.vim - -Patch 8.2.0325 -Problem: Ex_getln.c code not covered by tests. -Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5702) -Files: src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_functions.vim, src/testdir/test_history.vim, - src/testdir/test_options.vim - -Patch 8.2.0326 -Problem: Compiler warning for using uninitialized variable. (Yegappan - Lakshmanan) -Solution: Do not jump to failed but return. -Files: src/vim9execute.c - -Patch 8.2.0327 -Problem: Crash when opening and closing two popup terminal windows. -Solution: Check that prevwin is valid. (closes #5707) -Files: src/popupwin.c, src/testdir/test_terminal.vim - -Patch 8.2.0328 -Problem: No redraw when leaving terminal-normal mode in a terminal popup - window. -Solution: Redraw the popup window. (closes #5708) -Files: src/macros.h, src/vim.h, src/terminal.c, src/drawscreen.c, - src/move.c, src/popupwin.c, src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_7.dump, - src/testdir/dumps/Test_terminal_popup_8.dump - -Patch 8.2.0329 -Problem: Popup filter converts 0x80 bytes. -Solution: Keep 0x80 bytes as-is. (Ozaki Kiichi, closes #5706) -Files: src/popupwin.c, src/testdir/test_popupwin.vim - -Patch 8.2.0330 -Problem: Build error with popup window but without terminal. -Solution: Add #ifdef. -Files: src/popupwin.c - -Patch 8.2.0331 -Problem: Internal error when using test_void() and test_unknown(). - (Dominique Pellé) -Solution: Give a normal error. -Files: src/evalfunc.c, src/testdir/test_functions.vim, - src/testdir/test_vimscript.vim - -Patch 8.2.0332 -Problem: Some code in ex_getln.c not covered by tests. -Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5710) -Files: src/testdir/test_arabic.vim, src/testdir/test_cmdline.vim - -Patch 8.2.0333 -Problem: Terminal in popup test is flaky. -Solution: Make sure redraw is done before opening the popup. -Files: src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_1.dump - -Patch 8.2.0334 -Problem: Abort called when using test_void(). (Dominique Pellé) -Solution: Only give an error, don't abort. -Files: src/message.c, src/proto/message.pro, src/evalfunc.c, - src/eval.c, src/json.c, src/testdir/test_functions.vim - -Patch 8.2.0335 -Problem: No completion for :disassemble. -Solution: Make completion work. Also complete script-local functions if the - name starts with "s:". -Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, - runtime/doc/vim9.txt - -Patch 8.2.0336 -Problem: Vim9: insufficient test coverage for compiling. -Solution: Add more tests. -Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, - src/vim9.h, src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0337 -Problem: Build fails on a few systems. -Solution: Use vim_snprintf() instead of snprintf(). -Files: src/cmdexpand.c - -Patch 8.2.0338 -Problem: Build failure without the channel feature. -Solution: Add #ifdef -Files: src/vim9compile.c - -Patch 8.2.0339 -Problem: Vim9: function return type may depend on arguments. -Solution: Instead of a fixed return type use a function to figure out the - return type. -Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, - src/evalbuffer.c, src/proto/evalbuffer.pro, - src/testdir/test_vim9_script.vim - -Patch 8.2.0340 -Problem: Vim9: function and partial types not tested. -Solution: Support more for partial, add tests. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0341 -Problem: Using ":for" in Vim9 script gives an error. -Solution: Pass the LET_NO_COMMAND flag. (closes #5715) -Files: src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0342 -Problem: Some code in ex_getln.c not covered by tests. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5717) -Files: src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_history.vim, src/testdir/test_iminsert.vim - -Patch 8.2.0343 -Problem: Vim9: using wrong instruction, limited test coverage. -Solution: Use ISN_PUSHJOB. Add a few more tests. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0344 -Problem: ":def" not skipped properly. -Solution: Add CMD_def to list of commands the require evaluation even when - not being executed. -Files: src/ex_docmd.c - -Patch 8.2.0345 -Problem: Compiler warning when building without the float feature. -Solution: Add #ifdef. (John Marriott) -Files: src/evalfunc.c - -Patch 8.2.0346 -Problem: Vim9: finding common list type not tested. -Solution: Add more tests. Fix listing function. Fix overwriting type. -Files: src/vim9compile.c, src/userfunc.c, - src/testdir/test_vim9_script.vim, src/testdir/runtest.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0347 -Problem: Various code not covered by tests. -Solution: Add more test coverage. (Yegappan Lakshmanan, closes #5720) -Files: src/testdir/gen_opt_test.vim, src/testdir/test86.in, - src/testdir/test_cmdline.vim, src/testdir/test_digraph.vim, - src/testdir/test_ex_mode.vim, src/testdir/test_history.vim - -Patch 8.2.0348 -Problem: Vim9: not all code tested. -Solution: Add a few more tests. fix using "b:" in literal dictionary. -Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c, - src/proto/vim9compile.pro, src/testdir/test_vim9_script.vim - -Patch 8.2.0349 -Problem: Vim9: constant expression not well tested. -Solution: Add tests for "if" with constant expression. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0350 -Problem: Vim9: expression tests don't use recognized constants. -Solution: Recognize "true" and "false" as constants. Make skipping work for - assignment and expression evaluation. -Files: src/vim9compile.c - -Patch 8.2.0351 -Problem: Terminal in popup test is still a bit flaky. -Solution: Clear and redraw before opening the popup. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0352 -Problem: FreeBSD: test for sourcing utf-8 is skipped. -Solution: Run the matchadd_conceal test separately to avoid that setting - 'term' to "ansi" causes problems for other tests. (Ozaki Kiichi, - closes #5721) -Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim, - src/testdir/test_source_utf8.vim - -Patch 8.2.0353 -Problem: Vim9: while loop not tested. -Solution: Add test with "while", "break" and "continue" -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0354 -Problem: Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal) -Solution: Remove it, it was only for debugging. -Files: src/if_python3.c - -Patch 8.2.0355 -Problem: Vim9: str_val is confusing, it's a number -Solution: Rename to stnr_val. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0356 -Problem: MS-Windows: feedkeys() with VIMDLL cannot handle CSI correctly. -Solution: Modify mch_inchar() to encode CSI bytes. (Ozaki Kiichi, Ken - Takata, closes #5726) -Files: src/getchar.c, src/os_win32.c, src/testdir/test_popupwin.vim - -Patch 8.2.0357 -Problem: Cannot delete a text property matching both id and type. (Axel - Forsman) -Solution: Add the "both" argument. -Files: src/textprop.c, runtime/doc/textprop.txt, - src/testdir/test_textprop.vim - -Patch 8.2.0358 -Problem: Insufficient testing for indent.c. -Solution: Add indent tests. (Yegappan Lakshmanan, closes #5736) -Files: src/testdir/Make_all.mak, src/testdir/test_ex_mode.vim, - src/testdir/test_expand_func.vim, src/testdir/test_indent.vim, - src/testdir/test_lispwords.vim, src/testdir/test_smartindent.vim, - src/testdir/test_vartabs.vim - -Patch 8.2.0359 -Problem: popup_atcursor() may hang. (Yasuhiro Matsumoto) -Solution: Take the decoration into account. (closes #5728) -Files: src/popupwin.c, src/testdir/test_popupwin.vim - -Patch 8.2.0360 -Problem: Yaml files are only recognized by the file extension. -Solution: Check for a line starting with "%YAML". (Jason Franklin) -Files: runtime/scripts.vim, src/testdir/test_filetype.vim - -Patch 8.2.0361 -Problem: Internal error when using "0" for a callback. -Solution: Give a normal error. (closes #5743) -Files: src/evalvars.c, src/testdir/test_timers.vim - -Patch 8.2.0362 -Problem: MS-Windows: channel test fails if grep is not available. -Solution: Use another command. (Ken Takata, closes #5739) -Files: src/testdir/test_channel.vim - -Patch 8.2.0363 -Problem: Some Normal mode commands not tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5746) -Files: src/testdir/test_cindent.vim, src/testdir/test_cmdline.vim, - src/testdir/test_edit.vim, src/testdir/test_indent.vim, - src/testdir/test_normal.vim, src/testdir/test_prompt_buffer.vim, - src/testdir/test_virtualedit.vim, src/testdir/test_visual.vim - -Patch 8.2.0364 -Problem: Printf test failing on Haiku. -Solution: Make a difference between int and short. (Dominique Pellé, - closes #5749) -Files: src/message.c - -Patch 8.2.0365 -Problem: Tag kind can't be a multibyte character. (Marcin Szamotulski) -Solution: Recognize multibyte character. (closes #5724) -Files: src/tag.c, src/testdir/test_taglist.vim - -Patch 8.2.0366 -Problem: Hardcopy command not tested enough. -Solution: Add tests for printing. (Dominique Pellé, closes #5748) -Files: src/testdir/test_hardcopy.vim - -Patch 8.2.0367 -Problem: Can use :pedit in a popup window. -Solution: Disallow it. -Files: src/ex_docmd.c, src/testdir/test_popuwin.vim - -Patch 8.2.0368 -Problem: Vim9: import that redefines local variable does not fail. -Solution: Check for already defined symbols. -Files: src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, - src/proto/vim9compile.pro, src/testdir/test_vim9_script.vim - -Patch 8.2.0369 -Problem: Various Normal mode commands not fully tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5751) -Files: src/testdir/test_arglist.vim, src/testdir/test_changelist.vim, - src/testdir/test_charsearch.vim, src/testdir/test_cmdline.vim, - src/testdir/test_edit.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_excmd.vim, src/testdir/test_gf.vim, - src/testdir/test_iminsert.vim, src/testdir/test_increment.vim, - src/testdir/test_marks.vim, src/testdir/test_normal.vim, - src/testdir/test_prompt_buffer.vim, src/testdir/test_put.vim, - src/testdir/test_registers.vim, src/testdir/test_tagjump.vim, - src/testdir/test_visual.vim - -Patch 8.2.0370 -Problem: The typebuf_was_filled flag is sometimes not reset, which may - cause a hang. -Solution: Make sure typebuf_was_filled is reset when the typeahead buffer is - empty. -Files: src/edit.c, src/getchar.c, - -Patch 8.2.0371 -Problem: Crash with combination of terminal popup and autocmd. -Solution: Disallow closing a popup that is the current window. Add a check - that the current buffer is valid. (closes #5754) -Files: src/macros.h, src/buffer.c, src/popupwin.c, src/terminal.c, - src/testdir/test_terminal.vim - -Patch 8.2.0372 -Problem: Prop_find() may not find text property at start of the line. -Solution: Adjust the loop to find properties. (Axel Forsman, closes #5761, - closes #5663) -Files: src/testprop.c, src/testdir/test_textprop.vim - -Patch 8.2.0373 -Problem: Type of term_sendkeys() is unknown. -Solution: Just return zero. (closes #5762) -Files: src/terminal.c, src/testdir/test_terminal.vim - -Patch 8.2.0374 -Problem: Using wrong printf directive for jump location. -Solution: Change "%lld" to "%d". (James McCoy, closes #5773) -Files: src/vim9execute.c - -Patch 8.2.0375 -Problem: Coverity warning for not using return value. -Solution: Move error message to separate function. -Files: src/popupwin.c - -Patch 8.2.0376 -Problem: Nasty callback test fails on some systems. -Solution: Increase the sleep time. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0377 -Problem: No CI test for a big-endian system. -Solution: Test with s390x. (James McCoy, closes #5772) -Files: .travis.yml - -Patch 8.2.0378 -Problem: prop_find() does not find all props. -Solution: Check being in the start line. (Axel Forsman, closes #5776) -Files: src/textprop.c, src/testdir/test_textprop.vim - -Patch 8.2.0379 -Problem: Gcc warns for ambiguous else. -Solution: Add braces. (Dominique Pellé, closes #5778) -Files: src/textprop.c - -Patch 8.2.0380 -Problem: Tiny popup when creating a terminal popup without minwidth. -Solution: Use a default minimum size of 5 lines of 20 characters. -Files: src/popupwin.c, src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_m1.dump - -Patch 8.2.0381 -Problem: Using freed memory with :lvimgrep and autocommand. (extracted from - POC by Dominique Pellé) -Solution: Avoid deleting a dummy buffer used in a window. (closes #5777) -Files: src/quickfix.c, src/testdir/test_quickfix.vim - -Patch 8.2.0382 -Problem: Some tests fail when run under valgrind. -Solution: Increase timeouts. -Files: src/testdir/test_autocmd.vim, src/testdir/test_debugger.vim, - src/testdir/test_channel.vim, src/testdir/test_ins_complete.vim, - src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_popup_1.dump, - src/testdir/dumps/Test_terminal_popup_2.dump, - src/testdir/dumps/Test_terminal_popup_3.dump, - src/testdir/dumps/Test_terminal_popup_5.dump, - src/testdir/dumps/Test_terminal_popup_6.dump, - src/testdir/dumps/Test_terminal_popup_7.dump, - src/testdir/dumps/Test_terminal_popup_8.dump, - src/testdir/dumps/Test_terminal_popup_m1.dump - -Patch 8.2.0383 -Problem: Wrong feature check causes test not to be run. -Solution: Use CheckFunction instead of CheckFeature. (Ozaki Kiichi, - closes #5781) -Files: src/testdir/test_channel.vim - -Patch 8.2.0384 -Problem: Travis CI has warnings. -Solution: Avoid warnings, clean up the config. (Ozaki Kiichi, closes #5779) -Files: .travis.yml - -Patch 8.2.0385 -Problem: Menu functionality insufficiently tested. -Solution: Add tests. Add menu_info(). (Yegappan Lakshmanan, closes #5760) -Files: runtime/doc/eval.txt, runtime/doc/gui.txt, runtime/doc/usr_41.txt, - src/evalfunc.c, src/menu.c, src/proto/menu.pro, - src/testdir/test_menu.vim, src/testdir/test_popup.vim, - src/testdir/test_termcodes.vim - -Patch 8.2.0386 (after 8.2.0385) -Problem: Part from unfinished patch got included. -Solution: Undo that part. -Files: src/evalfunc.c - -Patch 8.2.0387 -Problem: Error for possible NULL argument to qsort(). -Solution: Don't call qsort() when there is nothing to sort. (Dominique - Pellé, closes #5780) -Files: src/spellsuggest.c - -Patch 8.2.0388 -Problem: Printmbcharset option not tested. -Solution: Add a test. Enable PostScript for AppVeyor build. (Dominique - Pellé, closes #5783) -Files: appveyor.yml, src/testdir/test_hardcopy.vim - -Patch 8.2.0389 -Problem: Delayed redraw when shifting text from Insert mode. -Solution: Use msg_attr_keep() instead of msg(). (closes #5782) -Files: src/ops.c - -Patch 8.2.0390 -Problem: Terminal postponed scrollback test is flaky. -Solution: Add delay in between sending keys. Rename dump files. -Files: src/testdir/test_terminal.vim, - src/testdir/dumps/Test_terminal_01.dump, - src/testdir/dumps/Test_terminal_02.dump, - src/testdir/dumps/Test_terminal_03.dump, - src/testdir/dumps/Test_terminal_scrollback_1.dump, - src/testdir/dumps/Test_terminal_scrollback_2.dump, - src/testdir/dumps/Test_terminal_scrollback_3.dump - -Patch 8.2.0391 (after 8.2.0377) -Problem: CI test coverage dropped. -Solution: Set $DISPLAY also for non-GUI builds. (James McCoy, closes #5788) -Files: .travis.yml - -Patch 8.2.0392 -Problem: Coverity warns for using array index out of range. -Solution: Add extra "if" to avoid warning. -Files: src/menu.c - -Patch 8.2.0393 -Problem: Coverity warns for not using return value. -Solution: Add (void). -Files: src/popupmenu.c - -Patch 8.2.0394 -Problem: Coverity complains about using NULL pointer. -Solution: Use empty string when option value is NULL. -Files: src/optionstr.c - -Patch 8.2.0395 -Problem: Build fails with FEAT_EVAL but without FEAT_MENU. -Solution: Add #ifdef. (John Marriott) -Files: src/evalfunc.c - -Patch 8.2.0396 -Problem: Cmdexpand.c insufficiently tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5789) -Files: src/testdir/test_cmdline.vim, src/testdir/test_taglist.vim, - src/testdir/test_terminal.vim, src/testdir/test_usercommands.vim - -Patch 8.2.0397 -Problem: Delayed screen update when using undo from Insert mode. -Solution: Update w_topline and cursor shape before sleeping. (closes #5790) -Files: src/normal.c - -Patch 8.2.0398 -Problem: Profile test fails when two functions take same time. -Solution: Add a short sleep in once function. (closes #5797) -Files: src/testdir/test_profile.vim - -Patch 8.2.0399 -Problem: Various memory leaks. -Solution: Avoid the leaks. (Ozaki Kiichi, closes #5803) -Files: src/ex_docmd.c, src/ex_getln.c, src/menu.c, src/message.c, - src/scriptfile.c, src/userfunc.c - -Patch 8.2.0400 -Problem: Not all tests using a terminal are in the list of flaky tests. -Solution: Introduce the test_is_flaky flag. -Files: src/testdir/runtest.vim, src/testdir/term_util.vim, - src/testdir/screendump.vim, src/testdir/test_autocmd.vim - -Patch 8.2.0401 -Problem: Not enough test coverage for evalvars.c. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5804) -Files: src/testdir/test_cmdline.vim, src/testdir/test_const.vim, - src/testdir/test_diffmode.vim, src/testdir/test_excmd.vim, - src/testdir/test_functions.vim, src/testdir/test_let.vim, - src/testdir/test_listdict.vim, src/testdir/test_spell.vim, - src/testdir/test_unlet.vim, src/testdir/test_user_func.vim, - src/testdir/test_vimscript.vim - -Patch 8.2.0402 (after 8.2.0401) -Problem: Setting local instead of global flag. -Solution: Prepend "g:" to "test_is_flaky". -Files: src/testdir/term_util.vim, src/testdir/screendump.vim, - src/testdir/test_autocmd.vim - -Patch 8.2.0403 -Problem: When 'buftype' is "nofile" there is no overwrite check. -Solution: Also check for existing file when 'buftype' is set. - (closes #5807) -Files: src/ex_cmds.c, src/testdir/test_options.vim - -Patch 8.2.0404 -Problem: Writefile() error does not give a hint. -Solution: Add remark about first argument. -Files: src/filepath.c, src/testdir/test_writefile.vim - -Patch 8.2.0405 -Problem: MSVC: build fails with some combination of features. -Solution: Enable CHANNEL if TERMINAL is enabled. (Mike Williams) -Files: src/Make_mvc.mak - -Patch 8.2.0406 -Problem: FileReadCmd event not well tested. -Solution: Add a test. -Files: src/testdir/test_autocmd.vim - -Patch 8.2.0407 -Problem: No early check if :find and :sfind have an argument. -Solution: Add EX_NEEDARG. -Files: src/ex_cmds.h, src/testdir/test_findfile.vim, - src/testdir/test_find_complete.vim - -Patch 8.2.0408 -Problem: Delete() commented out for testing. -Solution: Undo commenting-out. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0409 -Problem: Search test leaves file behind. -Solution: Delete the file. Also use Check commands. -Files: src/testdir/test_search.vim - -Patch 8.2.0410 -Problem: Channel test fails too often on slow Mac. -Solution: Increase waiting time to 10 seconds. -Files: src/testdir/test_channel.vim - -Patch 8.2.0411 -Problem: Mac: breakcheck is using a value from the stone ages. -Solution: Delete BREAKCHECK_SKIP from the Mac header file. (Ben Jackson) -Files: src/os_mac.h - -Patch 8.2.0412 -Problem: MS-Windows: cannot use vimtutor from the start menu. -Solution: Better check for writable directory. Use the right path for the - executable. (Wu Yongwei, closes #5774, closes #5756) -Files: vimtutor.bat - -Patch 8.2.0413 -Problem: Buffer menu does not handle special buffers properly. -Solution: Keep a dictionary with buffer names to reliably keep track of - entries. - Also trigger BufFilePre and BufFilePost for command-line and - terminal buffers when the name changes. -Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak, - runtime/menu.vim, src/ex_getln.c, src/terminal.c, - src/testdir/test_menu.vim - -Patch 8.2.0414 -Problem: Channel connect_waittime() test is flaky. -Solution: Set the test_is_flaky flag. Use test_is_flaky for more tests. -Files: src/testdir/test_channel.vim, src/testdir/test_terminal.vim, - src/testdir/runtest.vim - -Patch 8.2.0415 -Problem: Bsdl filetype is not detected. -Solution: Add an entry in the filetype list. (Daniel Kho, closes #5810) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0416 -Problem: Test leaves file behind. -Solution: Delete the file. -Files: src/testdir/test_indent.vim - -Patch 8.2.0417 -Problem: Travis CI config can be improved. -Solution: Remove COVERAGE variable. Add load-snd-dummy script. add "-i NONE" - to avoid messages about viminfo. (Ozaki Kiichi, closes #5813) -Files: .travis.yml, ci/load-snd-dummy.sh - -Patch 8.2.0418 -Problem: Code in eval.c not sufficiently covered by tests. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5815) -Files: src/testdir/test_blob.vim, src/testdir/test_channel.vim, - src/testdir/test_cmdline.vim, src/testdir/test_eval_stuff.vim, - src/testdir/test_expr.vim, src/testdir/test_functions.vim, - src/testdir/test_job_fails.vim, src/testdir/test_lambda.vim, - src/testdir/test_let.vim, src/testdir/test_listdict.vim, - src/testdir/test_marks.vim, src/testdir/test_method.vim, - src/testdir/test_normal.vim, src/testdir/test_unlet.vim, - src/testdir/test_usercommands.vim, src/testdir/test_vimscript.vim, - src/testdir/test_window_cmd.vim - -Patch 8.2.0419 -Problem: Various memory leaks in Vim9 script code. -Solution: Fix the leaks. (Ozaki Kiichi, closes #5814) -Files: src/proto/vim9compile.pro, src/scriptfile.c, src/structs.h, - src/testdir/test_vim9_script.vim, src/vim9.h, src/vim9compile.c, - src/vim9execute.c, src/vim9script.c - -Patch 8.2.0420 -Problem: Vim9: cannot interrupt a loop with CTRL-C. -Solution: Check for CTRL-C once in a while. Doesn't fully work yet. -Files: src/misc1.c, src/proto/misc1.pro, - src/testdir/test_vim9_script.vim - -Patch 8.2.0421 -Problem: Interrupting with CTRL-C does not always work. -Solution: Recognize CTRL-C while modifyOtherKeys is set. -Files: src/ui.c, src/testdir/test_vim9_script.vim, src/evalfunc.c - -Patch 8.2.0422 -Problem: Crash when passing popup window to win_splitmove(). (john Devin) -Solution: Disallow moving a popup window. (closes #5816) -Files: src/testdir/test_popupwin.vim, src/evalwindow.c - -Patch 8.2.0423 -Problem: In some environments a few tests are expected to fail. -Solution: Add $TEST_MAY_FAIL to list tests that should not cause make to - fail. -Files: src/testdir/runtest.vim - -Patch 8.2.0424 -Problem: Checking for wrong return value. (Tom) -Solution: Invert the check and fix the test. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0425 -Problem: Code for modeless selection not sufficiently tested. -Solution: Add tests. Move mouse code functionality to a common script file. - (Yegappan Lakshmanan, closes #5821) -Files: src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim, - src/testdir/mouse.vim, src/testdir/test_edit.vim, - src/testdir/test_global.vim, src/testdir/test_modeless.vim, - src/testdir/test_normal.vim, src/testdir/test_selectmode.vim, - src/testdir/test_termcodes.vim, src/testdir/test_visual.vim, - src/ui.c - -Patch 8.2.0426 -Problem: Some errors were not tested for. -Solution: Add tests. (Dominique Pellé, closes #5824) -Files: src/testdir/test_buffer.vim, src/testdir/test_options.vim, - src/testdir/test_tcl.vim, src/testdir/test_terminal.vim, - src/testdir/test_window_cmd.vim - -Patch 8.2.0427 -Problem: It is not possible to check for a typo in a feature name. -Solution: Add an extra argument to has(). -Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/check.vim, - src/testdir/test_functions.vim - -Patch 8.2.0428 -Problem: Buffer name may leak. -Solution: Free the buffer name before overwriting it. -Files: src/terminal.c - -Patch 8.2.0429 -Problem: No warning when test checks for option that never exists. -Solution: In tests check that the option can exist. -Files: src/testdir/check.vim - -Patch 8.2.0430 -Problem: Window creation failure not properly tested. -Solution: Improve the test. (Yegappan Lakshmanan, closes #5826) -Files: src/testdir/test_cmdline.vim, src/testdir/test_window_cmd.vim - -Patch 8.2.0431 -Problem: Some compilers don't support using \e for Esc. (Yegappan - Lakshmanan) -Solution: use \033 instead. -Files: src/ui.c - -Patch 8.2.0432 -Problem: A few tests fail in a huge terminal. -Solution: Make the tests pass. (Dominique Pellé, closes #5829) -Files: src/testdir/test_autocmd.vim, src/testdir/test_options.vim, - src/testdir/test_termcodes.vim, src/testdir/test_terminal.vim, - src/testdir/test_window_cmd.vim - -Patch 8.2.0433 -Problem: INT signal not properly tested. -Solution: Add a test. Also clean up some unnecessary lines. (Dominique - Pellé, closes #5828) -Files: src/testdir/test_display.vim, src/testdir/test_ex_mode.vim, - src/testdir/test_excmd.vim, src/testdir/test_messages.vim, - src/testdir/test_signals.vim - -Patch 8.2.0434 -Problem: MS-Windows with VTP: Normal color not working. -Solution: After changing the Normal color update the VTP console color. - (Nobuhiro Takasaki, closes #5836) -Files: src/highlight.c - -Patch 8.2.0435 -Problem: Channel contents might be freed twice. -Solution: Call either channel_free_channel() or channel_free(), not both. - (Nobuhiro Takasaki, closes #5835) -Files: src/channel.c - -Patch 8.2.0436 -Problem: No warnings for incorrect printf arguments. -Solution: Fix attribute in declaration. Fix uncovered mistakes. (Dominique - Pellé, closes #5834) -Files: src/proto.h, src/eval.c, src/ops.c, src/spellfile.c, - src/vim9compile.c, src/vim9execute.c, src/viminfo.c, src/gui.c - -Patch 8.2.0437 -Problem: MS-Windows installer contains old stuff. -Solution: Rely on Windows NT. (Ken Takata, closes #5832) -Files: src/dosinst.c - -Patch 8.2.0438 -Problem: Terminal noblock test is very flaky on BSD. -Solution: Change WaitFor() to WaitForAssert() to be able to see why it - failed. Add a short wait in between sending keys. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0439 -Problem: :disassemble has minor flaws. -Solution: Format the code. Use (int) instead of (char) for %c. - (also by James McCoy, closes #5831) -Files: src/vim9execute.c - -Patch 8.2.0440 -Problem: Terminal noblock test is still very flaky on BSD. -Solution: Increase the waiting time. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0441 -Problem: Terminal noblock test is still failing on BSD. -Solution: Reduce the amount of text. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0442 -Problem: Channel contents might be used after being freed. -Solution: Reset the job channel before freeing the channel. -Files: src/channel.c - -Patch 8.2.0443 -Problem: Clipboard code is spread out. -Solution: Move clipboard code to its own file. (Yegappan Lakshmanan, - closes #5827) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/clipboard.c, src/ops.c, src/proto.h, src/proto/clipboard.pro, - src/proto/ops.pro, src/proto/register.pro, src/proto/ui.pro, - src/register.c, src/ui.c - -Patch 8.2.0444 -Problem: Swap file test fails on some systems. -Solution: Preserve the swap file. Send NL terminated keys. -Files: src/testdir/test_swap.vim - -Patch 8.2.0445 -Problem: Png and xpm files not in MS-Windows zip file. -Solution: Move files to shared between Unix and Windows target. -Files: Filelist - -Patch 8.2.0446 -Problem: Listener with undo of deleting all lines not tested. -Solution: Add a test. -Files: src/testdir/test_listener.vim - -Patch 8.2.0447 -Problem: Terminal scroll tests fails on some systems. -Solution: Remove the fixed 100msec wait for Win32. Add a loop to wait until - scrolling has finished. (James McCoy, closes #5842) -Files: src/testdir/test_terminal.vim - -Patch 8.2.0448 -Problem: Various functions not properly tested. -Solution: Add more tests, especially for failures. (Yegappan Lakshmanan, - closes #5843) -Files: runtime/doc/eval.txt, src/testdir/test_blob.vim, - src/testdir/test_breakindent.vim, src/testdir/test_charsearch.vim, - src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, - src/testdir/test_exists.vim, src/testdir/test_expand_func.vim, - src/testdir/test_expr.vim, src/testdir/test_file_perm.vim, - src/testdir/test_functions.vim, src/testdir/test_gui.vim, - src/testdir/test_listdict.vim, src/testdir/test_marks.vim, - src/testdir/test_partial.vim, src/testdir/test_registers.vim, - src/testdir/test_search.vim, src/testdir/test_spell.vim, - src/testdir/test_substitute.vim, src/testdir/test_syn_attr.vim, - src/testdir/test_syntax.vim, src/testdir/test_taglist.vim, - src/testdir/test_utf8.vim, src/testdir/test_vartabs.vim, - src/testdir/test_window_cmd.vim - -Patch 8.2.0449 -Problem: Vim9: crash if return type is invalid. (Yegappan Lakshmanan) -Solution: Always return some type, not NULL. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0450 -Problem: Not enough testing for restricted mode and function calls. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5847) -Files: src/testdir/test_method.vim, src/testdir/test_restricted.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.0451 -Problem: Win32: double-width character displayed incorrectly. -Solution: First move the cursor to the first column. (Nobuhiro Takasaki, - closes #5848) -Files: src/os_win32.c - -Patch 8.2.0452 -Problem: channel_parse_messages() fails when called recursively. -Solution: Return for a recursive call. (closes #5835) -Files: src/channel.c - -Patch 8.2.0453 -Problem: Trailing space in job_start() command causes empty argument. -Solution: Ignore trailing space. (closes #5851) -Files: src/misc2.c, src/testdir/test_channel.vim - -Patch 8.2.0454 -Problem: Some tests fail when the system is slow. -Solution: Make the run number global, use in the test to increase the - waiting time. (closes #5841) -Files: src/testdir/runtest.vim, src/testdir/test_functions.vim - -Patch 8.2.0455 -Problem: Cannot set the highlight group for a specific terminal. -Solution: Add the "highlight" option to term_start(). (closes #5818) -Files: src/terminal.c, src/structs.h, src/channel.c, - src/testdir/test_terminal.vim, runtime/doc/terminal.txt, - src/testdir/dumps/Test_terminal_popup_Terminal.dump, - src/testdir/dumps/Test_terminal_popup_MyTermCol.dump - -Patch 8.2.0456 -Problem: Test_confirm_cmd is flaky. -Solution: Add a term_wait() call. (closes #5854) -Files: src/testdir/test_excmd.vim - -Patch 8.2.0457 -Problem: Test_quotestar() often fails when run under valgrind. -Solution: Wait longer for the GUI to start. -Files: src/testdir/test_quotestar.vim - -Patch 8.2.0458 -Problem: Missing feature check in test function. -Solution: Add check commands. -Files: src/testdir/test_excmd.vim - -Patch 8.2.0459 -Problem: Cannot check if a function name is correct. -Solution: Add "?funcname" to exists(). -Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_exists.vim, - src/testdir/check.vim - -Patch 8.2.0460 (after 8.2.0459) -Problem: Build failure because of wrong feature name. -Solution: Correct feature name. -Files: src/evalfunc.c - -Patch 8.2.0461 -Problem: Confirm test fails on amd64 system. (Alimar Riesebieter) -Solution: Add an extra WaitForAssert(). (Dominique Pellé) -Files: src/testdir/test_excmd.vim - -Patch 8.2.0462 -Problem: Previewwindow test fails on some systems. (James McCoy) -Solution: Wait a bit after sending the "o". (closes #5849) -Files: src/testdir/test_popup.vim, - src/testdir/dumps/Test_popup_and_previewwindow_01.dump - -Patch 8.2.0463 -Problem: Build error without float and channel feature. (John Marriott) -Solution: Define return types always. -Files: src/globals.h, src/evalfunc.c - -Patch 8.2.0464 -Problem: Typos and other small problems. -Solution: Fix the typos. Add missing files to the distribution. -Files: Filelist, src/buffer.c, src/drawline.c, src/gui_gtk_x11.c, - src/os_unixx.h, src/proto/popupwin.pro - -Patch 8.2.0465 -Problem: Vim9: dead code and wrong return type. -Solution: Remove dead code. Fix return type. Add more tests. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0466 (after 8.2.0452) -Problem: Not parsing messages recursively breaks the govim plugin. -Solution: When called recursively do handle messages but do not close - channels. -Files: src/channel.c - -Patch 8.2.0467 -Problem: Vim9: some errors are not tested -Solution: Add more tests. Fix that Vim9 script flag is not reset. -Files: src/vim9compile.c, src/scriptfile.c, src/dict.c, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim - -Patch 8.2.0468 -Problem: GUI: pixel dust with some fonts and characters. -Solution: Always redraw the character before the cursor. (Nir Lichtman, - closes #5549, closes #5856) -Files: src/gui.c, src/proto/gui.pro, src/screen.c - -Patch 8.2.0469 -Problem: Vim9: no error for missing ] after list. -Solution: Add error message. Add more tests. -Files: src/globals.h, src/list.c, src/userfunc.c, - src/testdir/test_vim9_expr.vim, src/testdir/test_lambda.vim - -Patch 8.2.0470 -Problem: Test_confirm_cmd_cancel() can fail on a slow system. -Solution: Use WaitForAssert(). (Ozaki Kiichi, closes #5861) -Files: src/testdir/test_excmd.vim - -Patch 8.2.0471 -Problem: Missing change to compile_list(). -Solution: Add error message. -Files: src/vim9compile.c - -Patch 8.2.0472 -Problem: Terminal highlight name is set twice, leaking memory. -Solution: Delete one. -Files: src/terminal.c - -Patch 8.2.0473 -Problem: Variables declared in an outer scope. -Solution: Declare variables only in the scope where they are used. -Files: src/evalvars.c - -Patch 8.2.0474 (after 8.2.0403) -Problem: Cannot use :write when using a plugin with BufWriteCmd. -Solution: Reset BF_NOTEDITED after BufWriteCmd. (closes #5807) -Files: src/fileio.c, src/testdir/test_autocmd.vim - -Patch 8.2.0475 -Problem: Channel out_cb test still fails sometimes on Mac. -Solution: Use an even longer timeout. -Files: src/testdir/test_channel.vim - -Patch 8.2.0476 -Problem: Terminal nasty callback test fails sometimes. -Solution: use term_wait() instead of a sleep. (Yee Cheng Chin, closes #5865) -Files: src/testdir/test_terminal.vim - -Patch 8.2.0477 -Problem: Vim9: error messages not tested. -Solution: Add more tests. -Files: src/testdir/test_vim9_expr.vim, src/vim9execute.c - -Patch 8.2.0478 -Problem: New buffers are not added to the Buffers menu. -Solution: Turn number into string. (Yee Cheng Chin, closes #5864) -Files: runtime/menu.vim, src/testdir/test_menu.vim - -Patch 8.2.0479 -Problem: Unloading shared libraries on exit has no purpose. -Solution: Do not unload shared libraries on exit. -Files: src/if_lua.c, src/if_perl.xs, src/if_python.c, src/if_python3.c, - src/if_ruby.c, src/if_tcl.c - -Patch 8.2.0480 -Problem: Vim9: some code is not tested. -Solution: Add more tests. -Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c - -Patch 8.2.0481 -Problem: Travis is still using trusty. -Solution: Adjust config to use bionic. (Ozaki Kiichi, closes #5868) -Files: .travis.yml, src/testdir/lsan-suppress.txt - -Patch 8.2.0482 -Problem: Channel and sandbox code not sufficiently tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5855) -Files: src/option.h, src/testdir/test_channel.vim, - src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, - src/testdir/test_edit.vim, src/testdir/test_excmd.vim, - src/testdir/test_normal.vim, src/testdir/test_prompt_buffer.vim, - src/testdir/test_restricted.vim, src/testdir/test_smartindent.vim, - src/testdir/test_substitute.vim, src/testdir/test_terminal.vim, - src/testdir/test_textformat.vim, src/testdir/test_visual.vim - -Patch 8.2.0483 -Problem: Vim9: "let x = x + 1" does not give an error. -Solution: Hide the variable when compiling the expression. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0484 -Problem: Vim9: some error messages not tested. -Solution: Add more tests. -Files: src/testdir/test_vim9_expr.vim - -Patch 8.2.0485 (after 8.2.0483) -Problem: Vim9 script test fails. -Solution: Stricter condition for adding new local variable. -Files: Stricter condition for adding new local variable. - -Patch 8.2.0486 -Problem: Vim9: some code and error messages not tested. -Solution: Add more tests. -Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.0487 -Problem: Vim9: compiling not sufficiently tested. -Solution: Add more tests. Fix bug with PCALL. -Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, - src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0488 -Problem: Vim9: Compiling can break when using a lambda inside :def. -Solution: Do not keep a pointer to the dfunc_T for longer time. -Files: src/vim9compile.c, src/vim9.h - -Patch 8.2.0489 -Problem: Vim9: memory leaks. -Solution: Free memory in the right place. Add hints for using asan. -Files: src/vim9compile.c, src/testdir/lsan-suppress.txt, src/Makefile - -Patch 8.2.0490 -Problem: Win32: VTP doesn't respect 'restorescreen'. -Solution: Use escape codes to switch to alternate screen. (Nobuhiro - Takasaki, closes #5872) -Files: src/os_win32.c - -Patch 8.2.0491 -Problem: Cannot recognize a <script> mapping using maparg(). -Solution: Add the "script" key. (closes #5873) -Files: src/map.c, runtime/doc/eval.txt, src/testdir/test_maparg.vim - -Patch 8.2.0492 -Problem: Vim9: some error messages not tested. -Solution: Add more tests. Remove dead code. Fix uncovered bugs. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim - -Patch 8.2.0493 -Problem: Vim9: some error messages not tested. -Solution: Add more tests. Fix uncovered bugs. -Files: src/vim9compile.c, src/vim9execute.c, src/testing.c, src/eval.c, - src/proto/testing.pro, src/evalfunc.c, runtime/doc/eval.txt, - runtime/doc/testing.txt, src/testdir/test_vim9_script.vim - -Patch 8.2.0494 -Problem: Vim9: asan error. -Solution: Only get the type when there is one. -Files: src/vim9compile.c - -Patch 8.2.0495 -Problem: Vim9: some code not tested. -Solution: Add more tests. Support more const expressions. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0496 -Problem: Vim9: disassemble test fails. -Solution: Separate test cases with recognized constant expressions. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0497 -Problem: Too verbose output from the asan build in Travis. -Solution: Filter out suppression messages. (Ozaki Kiichi, closes #5874) -Files: .travis.yml - -Patch 8.2.0498 -Problem: Coverity complains about uninitialized field. -Solution: Initialize the whole typval_T. -Files: src/vim9compile.c - -Patch 8.2.0499 -Problem: Calling a lambda is slower than evaluating a string. -Solution: Make calling a lambda faster. (Ken Takata, closes #5727) -Files: src/userfunc.c - -Patch 8.2.0500 -Problem: Using the same loop in many places. -Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339) -Files: src/arglist.c, src/autocmd.c, src/buffer.c, src/change.c, - src/channel.c, src/cmdexpand.c, src/diff.c, src/eval.c, - src/evalbuffer.c, src/evalfunc.c, src/evalvars.c, - src/evalwindow.c, src/ex_cmds2.c, src/filepath.c, src/globals.h, - src/gui.c, src/if_py_both.h, src/if_ruby.c, src/insexpand.c, - src/list.c, src/misc2.c, src/netbeans.c, src/popupwin.c, - src/quickfix.c, src/screen.c, src/sign.c, src/spell.c, - src/spellfile.c, src/spellsuggest.c, src/tag.c, src/terminal.c, - src/userfunc.c, src/window.c - -Patch 8.2.0501 -Problem: Vim9: script test fails when channel feature is missing. -Solution: Add a has() condition. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0502 -Problem: Vim9: some code is not tested. -Solution: Add more tests. Fix uncovered problems. -Files: src/vim9compile.c, src/regexp.c, src/proto/regexp.pro, - src/cmdexpand.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, - src/ex_getln.c, src/highlight.c, src/search.c, src/syntax.c, - src/tag.c, src/userfunc.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0503 -Problem: Vim9: some code is not tested. -Solution: Add tests. Fix uncovered problems. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0504 -Problem: Vim9: leaking scope memory when compilation fails. -Solution: Cleanup the scope list. -Files: src/vim9compile.c - -Patch 8.2.0505 -Problem: term_gettty() not sufficiently tested. -Solution: Add more asserts. (Dominique Pellé, closes #5877) -Files: src/testdir/test_terminal.vim - -Patch 8.2.0506 -Problem: Coverity complains about ignoring return value. -Solution: Add (void). -Files: src/userfunc.c - -Patch 8.2.0507 (after 8.2.0472) -Problem: Getbufvar() may get the wrong dictionary. (David le Blanc) -Solution: Check for empty name. (closes #5878) -Files: src/evalvars.c, src/testdir/test_functions.vim - -Patch 8.2.0508 -Problem: Vim9: func and partial types not done yet -Solution: Fill in details about func declaration, drop a separate partial - declaration. -Files: runtime/doc/vim9.txt, src/vim9compile.c, src/globals.h, - src/structs.h, src/evalfunc.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0509 -Problem: various code is not properly tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5871) -Files: src/main.c, src/testdir/check.vim, src/testdir/shared.vim, - src/testdir/term_util.vim, src/testdir/test_clientserver.vim, - src/testdir/test_ex_mode.vim, src/testdir/test_expand.vim, - src/testdir/test_functions.vim, src/testdir/test_options.vim, - src/testdir/test_startup.vim, src/testdir/test_textformat.vim, - src/testdir/test_trycatch.vim, src/testdir/test_viminfo.vim - -Patch 8.2.0510 -Problem: Coverity complains about using uninitialized variable. -Solution: Assign a value to "scol". Move code inside NULL check. -Files: src/beval.c, src/popupwin.c - -Patch 8.2.0511 -Problem: Cscope code not fully tested. -Solution: Add more test cases. (Dominique Pellé, closes #5886) -Files: src/testdir/test_cscope.vim - -Patch 8.2.0512 -Problem: Vim9: no optional arguments in func type. -Solution: Check for question mark after type. Find function reference - without function(). -Files: src/vim9compile.c, src/vim9execute.c, src/structs.h, - src/globals.h, src/vim.h, src/vim9.h, src/userfunc.c, - src/testdir/Make_all.mak, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0513 -Problem: Reading past allocated memory when using varargs. -Solution: Fix copying function argument types. -Files: src/vim9compile.c - -Patch 8.2.0514 -Problem: Several global functions are used in only one file. -Solution: Make the functions static. (Yegappan Lakshmanan, closes #5884) -Files: src/drawscreen.c, src/evalvars.c, src/getchar.c, src/list.c, - src/proto/drawscreen.pro, src/proto/evalvars.pro, - src/proto/getchar.pro, src/proto/list.pro, src/proto/version.pro, - src/version.c - -Patch 8.2.0515 -Problem: Some compilers cannot add to "void *". -Solution: Cast to "char *". -Files: src/vim9compile.c - -Patch 8.2.0516 -Problem: Client-server code is spread out. -Solution: Move client-server code to a new file. (Yegappan Lakshmanan, - closes #5885) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/clientserver.c, src/evalfunc.c, src/main.c, src/proto.h, - src/proto/clientserver.pro, src/proto/main.pro - -Patch 8.2.0517 -Problem: Vim9: cannot separate "func" and "func(): void". -Solution: Use VAR_ANY for "any" and VAR_UNKNOWN for "no type". -Files: src/structs.h, src/globals.h, src/eval.c, src/evalfunc.c, - src/evalvars.c, src/testing.c, src/vim9compile.c, - src/vim9execute.c, src/viminfo.c, src/if_py_both.h, src/json.c, - src/testdir/test_vim9_func.vim - -Patch 8.2.0518 -Problem: A terminal falls back to setting $TERM to "xterm". -Solution: Use "xterm-color" if more than 16 colors are supported and - "xterm-256color" if at least 256 colors are supported. - (closes #5887) -Files: src/os_unix.c - -Patch 8.2.0519 -Problem: Vim9: return type not properly checked. -Solution: Check type properly, also at runtime. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0520 -Problem: Tests are not listed in sorted order. -Solution: Move test_ex_mode. (Doug Richardson, closes #5889) -Files: src/testdir/Make_all.mak - -Patch 8.2.0521 -Problem: Crash when reading a blob fails. -Solution: Avoid keeping a pointer to a freed blob object. (Dominique Pellé, - closes #5890) Adjust error messages. -Files: src/filepath.c, src/testdir/test_blob.vim - -Patch 8.2.0522 -Problem: Several errors are not tested for. -Solution: Add tests. (Yegappan Lakshmanan, closes #5892) -Files: src/testdir/test_autocmd.vim, src/testdir/test_clientserver.vim, - src/testdir/test_digraph.vim, src/testdir/test_expand.vim, - src/testdir/test_expr.vim, src/testdir/test_functions.vim, - src/testdir/test_gui.vim, src/testdir/test_highlight.vim, - src/testdir/test_ins_complete.vim, src/testdir/test_lambda.vim, - src/testdir/test_listdict.vim, src/testdir/test_normal.vim, - src/testdir/test_options.vim, src/testdir/test_preview.vim, - src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, - src/testdir/test_vimscript.vim, src/testdir/test_window_cmd.vim - -Patch 8.2.0523 -Problem: Loops are repeated. -Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882) -Files: src/buffer.c, src/drawscreen.c, src/evalfunc.c, src/evalwindow.c, - src/globals.h, src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, - src/gui_w32.c, src/list.c, src/menu.c, src/popupmenu.c, - src/popupwin.c, src/quickfix.c, src/syntax.c, src/time.c, - src/userfunc.c, src/vim9compile.c - -Patch 8.2.0524 -Problem: Win32: searching for file matches is slow. -Solution: Instead of making another round to find any short filename, check - for the short name right away. Avoid using an ordinary file like a - directory. (Nir Lichtman, closes #5883) -Files: src/filepath.c - -Patch 8.2.0525 (after 8.2.0524) -Problem: Win32: typo in assignment and misplaced paren. -Solution: Fix the syntax. -Files: src/filepath.c - -Patch 8.2.0526 -Problem: Gcc 9 complains about empty statement. -Solution: Add {}. (Dominique Pellé, closes #5894) -Files: src/evalfunc.c - -Patch 8.2.0527 -Problem: Vim9: function types insufficiently tested. -Solution: Add more tests. Fix white space check. Add "test_vim9" target. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, src/Makefile, - src/testdir/Makefile, src/testdir/Make_all.mak - -Patch 8.2.0528 -Problem: Vim9: function arguments insufficiently tested. -Solution: Check types. Add more tests. Fix function with varargs only. -Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0529 -Problem: Vim9: function argument with default not checked. -Solution: Check type of argument with default value. -Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0530 -Problem: Test crashes on s390. (James McCoy) -Solution: Explicitly define an 8 big signed type. (closes #5897) -Files: src/structs.h - -Patch 8.2.0531 -Problem: Various errors not tested. -Solution: Add tests. (Yegappan Lakshmanan, closes #5895) -Files: src/testdir/test_search.vim, src/testdir/test_source.vim, - src/testdir/test_syntax.vim, src/testdir/test_user_func.vim, - src/testdir/test_vimscript.vim - -Patch 8.2.0532 -Problem: Cannot use simplify() as a method. -Solution: Add FEARG_1. (closes #5896) -Files: runtime/doc/eval.txt, src/evalfunc.c, - src/testdir/test_functions.vim - -Patch 8.2.0533 -Problem: Tests using term_wait() can still be flaky. -Solution: Increase the wait time when rerunning a test. (James McCoy, - closes #5899) Halve the initial times to make tests run faster - when there is no rerun. -Files: src/testdir/term_util.vim, src/testdir/test_arglist.vim, - src/testdir/test_autocmd.vim, src/testdir/test_balloon.vim, - src/testdir/test_bufline.vim, src/testdir/test_channel.vim, - src/testdir/test_cmdline.vim, src/testdir/test_conceal.vim, - src/testdir/test_cursorline.vim, src/testdir/test_debugger.vim, - src/testdir/test_diffmode.vim, src/testdir/test_display.vim, - src/testdir/test_functions.vim, src/testdir/test_highlight.vim, - src/testdir/test_ins_complete.vim, src/testdir/test_mapping.vim, - src/testdir/test_match.vim, src/testdir/test_matchadd_conceal.vim, - src/testdir/test_messages.vim, src/testdir/test_number.vim, - src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, - src/testdir/test_profile.vim, src/testdir/test_search.vim, - src/testdir/test_search_stat.vim, src/testdir/test_startup.vim, - src/testdir/test_startup_utf8.vim, - src/testdir/test_statusline.vim, src/testdir/test_suspend.vim, - src/testdir/test_swap.vim, src/testdir/test_tagjump.vim, - src/testdir/test_terminal.vim, src/testdir/test_terminal_fail.vim, - src/testdir/test_timers.vim, src/testdir/test_vimscript.vim - -Patch 8.2.0534 -Problem: Client-server test fails under valgrind. -Solution: Use WaitForAssert(). -Files: src/testdir/test_clientserver.vim - -Patch 8.2.0535 -Problem: Regexp patterns not fully tested. -Solution: Add more regexp tests and others. (Yegappan Lakshmanan, - closes #5901) -Files: src/testdir/test_marks.vim, src/testdir/test_options.vim, - src/testdir/test_regexp_latin.vim, src/testdir/test_search.vim - -Patch 8.2.0536 -Problem: Vim9: some compilation code not tested. -Solution: Add more test cases. -Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, - src/testdir/test_vim9_expr.vim - -Patch 8.2.0537 -Problem: Vim9: no check for sandbox when setting v:var. -Solution: Check for sandbox. -Files: src/evalvars.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0538 -Problem: Vim9: VAR_PARTIAL is not used during compilation. -Solution: Remove VAR_PARTIAL. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0539 -Problem: Comparing two NULL list fails. -Solution: Change the order of comparing two lists. -Files: src/list.c, src/testdir/test_assert.vim - -Patch 8.2.0540 -Problem: Regexp and other code not tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5904) -Files: src/testdir/test_backspace_opt.vim, src/testdir/test_expr.vim, - src/testdir/test_increment.vim, src/testdir/test_normal.vim, - src/testdir/test_options.vim, src/testdir/test_regexp_latin.vim, - src/testdir/test_search.vim, src/testdir/test_substitute.vim, - src/testdir/test_terminal.vim, src/testdir/test_virtualedit.vim - -Patch 8.2.0541 -Problem: Travis CI does not give compiler warnings. -Solution: Add flags for warnings. Fix uncovered problems. (Ozaki Kiichi, - closes #5898) -Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, - ci/config.mk.sed, src/if_perl.xs, src/if_ruby.c, - src/libvterm/t/harness.c - -Patch 8.2.0542 -Problem: No test for E386. -Solution: Add a test. (Dominique Pellé, closes #5911) -Files: src/testdir/test_search.vim - -Patch 8.2.0543 -Problem: Vim9: function with varargs does not work properly. -Solution: Improve function type spec and add tests. Fix bugs. -Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9execute.c, - src/structs.h, src/testdir/test_vim9_func.vim - -Patch 8.2.0544 -Problem: Memory leak in search test. -Solution: Free msgbuf. (Dominique Pellé, closes #5912) -Files: src/search.c - -Patch 8.2.0545 -Problem: Unused arguments ignored in non-standard way. -Solution: Add UNUSED instead of (void). -Files: src/libvterm/t/harness.c - -Patch 8.2.0546 -Problem: Vim9: varargs implementation is inefficient. -Solution: Create list without moving the arguments. -Files: src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0547 -Problem: Win32: restoring screen not always done right. -Solution: Use a more appropriate method. (Nobuhiro Takasaki, closes #5909) -Files: src/os_win32.c - -Patch 8.2.0548 -Problem: Vim9: not all possible func type errors tested. -Solution: Add more tests. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0549 -Problem: User systemd files not recognized. -Solution: Add filetype patterns. (Kevin Locke, closes #5914) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0550 -Problem: Some changes in the libvterm upstream code. -Solution: Include some changes. -Files: src/libvterm/t/harness.c - -Patch 8.2.0551 -Problem: Not all code for options is tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5913) -Files: src/testdir/test_options.vim, src/testdir/test_python3.vim, - src/testdir/test_undo.vim, src/testdir/test_vimscript.vim - -Patch 8.2.0552 -Problem: Vim9: some errors not covered by tests. -Solution: Add more tests. Check Funcref argument types. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0553 (after 8.2.0550) -Problem: Error for unused argument. -Solution: Add UNUSED. -Files: src/libvterm/t/harness.c - -Patch 8.2.0554 -Problem: The GUI doesn't set t_Co. -Solution: In the GUI set t_Co to 256 * 256 * 256. (closes #5903) -Files: src/term.c, src/proto/term.pro, src/gui.c, - src/testdir/test_gui.vim - -Patch 8.2.0555 -Problem: Vim9: line continuation is not always needed. -Solution: Recognize continuation lines automatically in list and dict. -Files: runtime/doc/vim9.txt, src/vim9compile.c, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim - -Patch 8.2.0556 -Problem: Vim9: memory leak when finding common type. -Solution: Store allocated memory in type growarray. -Files: src/vim9compile.c - -Patch 8.2.0557 -Problem: No IPv6 support for channels. -Solution: Add IPv6 support. (Ozaki Kiichi, closes #5893) -Files: .travis.yml, runtime/doc/channel.txt, runtime/doc/various.txt, - src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, - src/channel.c, src/config.h.in, src/configure.ac, src/evalfunc.c, - src/proto/channel.pro, src/testdir/check.vim, - src/testdir/runtest.vim, src/testdir/test_cdo.vim, - src/testdir/test_channel.py, src/testdir/test_channel.vim, - src/testdir/test_channel_6.py, src/testdir/test_escaped_glob.vim, - src/testdir/test_getcwd.vim, src/testdir/test_hide.vim - -Patch 8.2.0558 -Problem: Vim9: dict code not covered by tests. -Solution: Remove dead code, adjust test case. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0559 -Problem: Clearing a struct is verbose. -Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). -Files: src/vim.h, src/blowfish.c, src/channel.c, src/charset.c, - src/clipboard.c, src/diff.c, src/eval.c, src/evalfunc.c, - src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/findfile.c, - src/gui_gtk_f.c, src/gui_mac.c, src/gui_motif.c, src/gui_w32.c, - src/gui_x11.c, src/hardcopy.c, src/hashtab.c, src/highlight.c, - src/if_mzsch.c, src/insexpand.c, src/kword_test.c, src/list.c, - src/main.c, src/map.c, src/memfile.c, src/message_test.c, - src/misc1.c, src/netbeans.c, src/normal.c, src/ops.c, - src/option.c, src/os_mswin.c, src/os_win32.c, src/popupmenu.c, - src/quickfix.c, src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c, - src/search.c, src/sign.c, src/spell.c, src/spellfile.c, - src/spellsuggest.c, src/syntax.c, src/tag.c, src/terminal.c, - src/time.c, src/undo.c, src/userfunc.c, src/vim9compile.c, - src/vim9execute.c, src/if_py_both.h - -Patch 8.2.0560 -Problem: Compiler warning in tiny build. -Solution: Move declaration inside #ifdef. (Dominique Pellé, closes #5915) -Files: src/ex_docmd.c - -Patch 8.2.0561 -Problem: Vim9: cannot split function call in multiple lines. -Solution: Find more arguments in following lines. -Files: runtime/doc/vim9.txt, src/vim9compile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0562 -Problem: Vim9: cannot split an expression into multiple lines. -Solution: Continue in next line after an operator. -Files: runtime/doc/vim9.txt, src/macros.h, src/vim9compile.c, - src/testdir/test_vim9_expr.vim - -Patch 8.2.0563 -Problem: Vim9: cannot split a function line. -Solution: Continue in next line so long as the function isn't done. -Files: runtime/doc/vim9.txt, src/userfunc.c, src/proto/userfunc.pro, - src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0564 -Problem: Vim9: calling a def function from non-vim9 may fail. -Solution: Convert varargs to a list. -Files: src/testdir/test_vim9_func.vim, src/vim9execute.c - -Patch 8.2.0565 -Problem: Vim9: tests contain superfluous line continuation. -Solution: Remove line continuation no longer needed. Skip empty lines. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0566 -Problem: Vim9: variable can be used uninitialized. -Solution: Jump to after where variable is used. -Files: src/vim9execute.c - -Patch 8.2.0567 -Problem: Vim9: cannot put comments halfway expressions. -Solution: Support # comments in many places. -Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, - src/ex_docmd.c, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.0568 -Problem: The man filetype plugin overwrites the unnamed register. -Solution: Use the black hole register. (Jason Franklin) -Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim - -Patch 8.2.0569 -Problem: Build failure with tiny version. -Solution: Add #ifdef. -Files: src/ex_docmd.c - -Patch 8.2.0570 -Problem: Vim9: no error when omitting type from argument. -Solution: Enforce specifying argument types. -Files: src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0571 -Problem: Double free when passing invalid argument to job_start(). -Solution: Clear the argument when freed. (Masato Nishihata, closes #5926) -Files: src/misc2.c, src/testdir/test_channel.vim - -Patch 8.2.0572 (after 8.2.0571) -Problem: Using two lines for free and reset. -Solution: Use VIM_CLEAR() instead. (Yegappan Lakshmanan) -Files: src/misc2.c - -Patch 8.2.0573 -Problem: using :version twice leaks memory -Solution: Only initialize variables once. (Dominique Pellé, closes #5917) -Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, - src/testdir/test_version.vim, src/version.c, src/globals.h - -Patch 8.2.0574 -Problem: Ipv6 feature not shown in :version output. -Solution: Add ipv6 in :version output. (Ozaki Kiichi, closes #5924) -Files: runtime/doc/eval.txt, src/version.c - -Patch 8.2.0575 -Problem: :digraph! not tested. -Solution: Add a test. (Dominique Pellé, closes #5925) -Files: src/testdir/test_digraph.vim - -Patch 8.2.0576 -Problem: Some errors are not covered by tests. -Solution: Add a few more tests. (Dominique Pellé, closes #5920) -Files: src/testdir/test_buffer.vim, src/testdir/test_digraph.vim, - src/testdir/test_expr.vim, src/testdir/test_messages.vim - -Patch 8.2.0577 -Problem: Not all modifiers supported for :options. -Solution: Use all cmdmod.split flags. (closes #4401) -Files: src/usercmd.c, src/proto/usercmd.pro, src/scriptfile.c, - src/testdir/test_options.vim, src/testdir/test_usercommands.vim - -Patch 8.2.0578 -Problem: Heredoc for interfaces does not support "trim". -Solution: Update the script heredoc support to be same as the :let command. - (Yegappan Lakshmanan, closes #5916) -Files: runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt, - runtime/doc/if_perl.txt, runtime/doc/if_pyth.txt, - runtime/doc/if_ruby.txt, runtime/doc/if_tcl.txt, src/evalvars.c, - src/ex_getln.c, src/proto/evalvars.pro, src/testdir/test86.in, - src/testdir/test87.in, src/testdir/test_lua.vim, - src/testdir/test_perl.vim, src/testdir/test_python2.vim, - src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, - src/testdir/test_pyx3.vim, src/testdir/test_ruby.vim, - src/testdir/test_tcl.vim, src/userfunc.c, src/vim9compile.c - -Patch 8.2.0579 -Problem: Coverity warns for unused value. -Solution: Change order and use "else if". -Files: src/os_unix.c - -Patch 8.2.0580 -Problem: Window size wrong if 'ea' is off and 'splitright' is on and - splitting then closing a window. -Solution: Put abandoned window space in the right place. (Mark Waggoner) -Files: src/testdir/test_winbuf_close.vim, src/window.c - -Patch 8.2.0581 (after 8.2.0547) -Problem: Win32 console: the cursor position is always top-left. -Solution: Revert the patch for restoring screen. -Files: src/os_win32.c - -Patch 8.2.0582 -Problem: Color ramp test does not show text colors. -Solution: Add a row of 16 text colors and 16 bold text colors. -Files: src/testdir/color_ramp.vim - -Patch 8.2.0583 -Problem: Vim9: # comment not recognized in :def function. -Solution: Recognize and skip # comment. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0584 -Problem: Viminfo file uses obsolete function file_readable(). -Solution: Use filereadable(). (closes #5934) -Files: src/session.c - -Patch 8.2.0585 -Problem: Vim9: # comment not recognized after :vim9script. -Solution: Check script type. Make comment after ":echo" work. And in - several other places. -Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/eval.c, - src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0586 -Problem: Vim9: # comment not sufficiently tested -Solution: Check for preceding white space. -Files: src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0587 -Problem: Compiler warning for unused variable. -Solution: Add UNUSED. -Files: src/ex_docmd.c - -Patch 8.2.0588 -Problem: Putty does not use "sgr" 'ttymouse' by default. -Solution: Make "sgr" the default for Putty. (Christian Brabandt, - closes #5942) -Files: src/term.c - -Patch 8.2.0589 -Problem: .bsd file type not recognized. -Solution: Recognize .bsd as BSDL. (Daniel Kho, closes #5945) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0590 -Problem: No 'backspace' value allows ignoring the insertion point. -Solution: Add the "nostop" and 3 values. (Christian Brabandt, closes #5940) -Files: runtime/doc/options.txt, src/edit.c, src/option.c, src/option.h, - src/optionstr.c, src/testdir/gen_opt_test.vim, - src/testdir/test_backspace_opt.vim - -Patch 8.2.0591 -Problem: MS-Windows: should always support IPv6 -Solution: Add build flag. (Ozaki Kiichi, closes #5944) -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak - -Patch 8.2.0592 -Problem: MS-Windows with VTP: cursor is not made invisible. -Solution: Output the code to make the cursor visible or invisible. (Nobuhiro - Takasaki, closes #5941) -Files: src/os_win32.c - -Patch 8.2.0593 -Problem: Finding a user command is not optimal. -Solution: Start further down in the list of commands. -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 8.2.0594 -Problem: MS-Windows: cannot build with WINVER set to 0x0501. -Solution: Only use inet_ntop() when available. (Ozaki Kiichi, closes #5946) -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, - src/channel.c, src/config.h.in, src/configure.ac - -Patch 8.2.0595 -Problem: Vim9: not all commands using ends_excmd() tested. -Solution: Find # comment after regular commands. Add more tests. Report - error for where it was caused. -Files: src/ex_docmd.c, src/vim9compile.c, src/vim9execute.c, src/usercmd.c, - src/evalfunc.c, src/userfunc.c, src/proto/userfunc.pro, - src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0596 -Problem: Crash in test49. -Solution: Check the right pointer. -Files: src/userfunc.c, src/testdir/test_eval.ok - -Patch 8.2.0597 -Problem: Test_eval is old style. -Solution: Change some tests to a new style test. -Files: src/testdir/test_eval.in, src/testdir/test_eval.ok, - src/testdir/test_eval_stuff.vim - -Patch 8.2.0598 -Problem: Test_eval_stuff fails in normal terminal. -Solution: Close the new window. -Files: src/testdir/test_eval_stuff.vim - -Patch 8.2.0599 -Problem: Netbeans interface insufficiently tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5921) -Files: runtime/doc/netbeans.txt, src/netbeans.c, src/os_win32.c, - src/testdir/runtest.vim, src/testdir/test_netbeans.py, - src/testdir/test_netbeans.vim - -Patch 8.2.0600 -Problem: Vim9: cannot read or write w:, t: and b: variables. -Solution: Implement load and store for w:, t: and b: variables. - (closes #5950) -Files: src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, - src/vim9.h, src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0601 -Problem: Vim9: :unlet is not compiled. -Solution: Implement :unlet instruction and check for errors. -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9.h, - src/vim9execute.c, src/evalvars.c, src/proto/evalvars.pro, - src/eval.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0602 -Problem: :unlet $VAR does not work properly. -Solution: Make ":lockvar $VAR" fail. Check the "skip" flag. -Files: src/evalvars.c, src/globals.h, src/testdir/test_vimscript.vim - -Patch 8.2.0603 -Problem: Configure does not detect moonjit. -Solution: Add check for moonjit. (Shlomi Fish, closes #5947) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.0604 -Problem: :startinsert in a terminal window used later. -Solution: Ignore :startinsert in a terminal window. (closes #5952) -Files: src/ex_docmd.c, src/testdir/test_terminal.vim - -Patch 8.2.0605 -Problem: Vim9: cannot unlet an environment variable. -Solution: Implement unlet for $VAR. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0606 -Problem: Several syntax HL errors not checked. -Solution: Add tests. (Yegappan Lakshmanan, closes #5954) -Files: src/testdir/test_syntax.vim - -Patch 8.2.0607 -Problem: Gcc warns for using uninitialized variable. (John Marriott) -Solution: Set name_end also for environment variables. -Files: src/evalvars.c - -Patch 8.2.0608 -Problem: Warning from clang when building message test. -Solution: Use a void pointer. (Dominique Pellé, closes #5958) -Files: src/message_test.c - -Patch 8.2.0609 -Problem: Configure does not detect moonjit correctly. -Solution: Double the brackets. (Ozaki Kiichi) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.0610 -Problem: Some tests are still old style. -Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5957) -Files: src/testdir/test_blob.vim, src/testdir/test_cursor_func.vim, - src/testdir/test_eval.in, src/testdir/test_eval.ok, - src/testdir/test_eval_func.vim, src/testdir/test_eval_stuff.vim, - src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, - src/testdir/test_functions.vim, src/testdir/test_listdict.vim, - src/testdir/test_sort.vim, src/testdir/test_syntax.vim, - src/testdir/test_utf8.vim, src/testdir/test_vimscript.vim - -Patch 8.2.0611 -Problem: Vim9: no check for space before #comment. -Solution: Add space checks. -Files: src/eval.c, src/evalvars.c, src/ex_docmd.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0612 -Problem: Vim9: no check for space before #comment. -Solution: Add space checks. -Files: src/ex_eval.c, src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro, - src/gui.c, src/highlight.c, src/testdir/test_vim9_script.vim, - src/testdir/test_sort.vim - -Patch 8.2.0613 -Problem: Vim9: no check for space before #comment. -Solution: Add space checks. -Files: src/highlight.c, src/menu.c, src/syntax.c, - src/testdir/test_vim9_script.vim, - runtime/lang/menu_de_de.latin1.vim - -Patch 8.2.0614 -Problem: Get ml_get error when deleting a line in 'completefunc'. (Yegappan - Lakshmanan) -Solution: Lock the text while evaluating 'completefunc'. -Files: src/insexpand.c, src/globals.h, src/edit.c, src/ex_getln.c, - src/undo.c, src/testdir/test_edit.vim, src/testdir/test_excmd.vim, - src/testdir/test_gf.vim, src/testdir/test_popup.vim, - src/testdir/test_ex_mode.vim, runtime/doc/insert.txt - -Patch 8.2.0615 -Problem: Regexp benchmark test is old style. -Solution: Make it a new style test. Fix using a NULL list. Add more tests. - (Yegappan Lakshmanan, closes #5963) -Files: src/evalbuffer.c, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Makefile, - src/testdir/bench_re_freeze.in, src/testdir/bench_re_freeze.vim, - src/testdir/test_autocmd.vim, src/testdir/test_bench_regexp.vim, - src/testdir/test_blob.vim, src/testdir/test_bufline.vim, - src/testdir/test_channel.vim, src/testdir/test_cmdline.vim, - src/testdir/test_functions.vim, src/testdir/test_ins_complete.vim, - src/testdir/test_popupwin.vim, src/testdir/test_prompt_buffer.vim, - src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim - -Patch 8.2.0616 -Problem: Build error when disabling the diff feature. -Solution: Move parenthesis outside of #ifdef. (Tom Ryder) -Files: src/drawline.c - -Patch 8.2.0617 -Problem: New error check triggers in Swedish menu. -Solution: Insert backslash. (Mats Tegner, closes #5966) -Files: runtime/lang/menu_sv_se.latin1.vim - -Patch 8.2.0618 -Problem: Echoing a null list results in no output. (Yegappan Lakshmanan) -Solution: Return "[]" instead of NULL in echo_string_core(). -Files: src/eval.c, src/testdir/test_messages.vim - -Patch 8.2.0619 -Problem: Null dict is not handled like an empty dict. -Solution: Fix the code and add tests. (Yegappan Lakshmanan, closes #5968) -Files: src/dict.c, src/eval.c, src/testdir/test_blob.vim, - src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, - src/testdir/test_let.vim, src/testdir/test_listdict.vim, - src/testdir/test_search.vim, src/testdir/test_unlet.vim, - src/testdir/test_usercommands.vim, src/testdir/test_vimscript.vim - -Patch 8.2.0620 -Problem: Error in menu translations. -Solution: Insert a backslash before a space. -Files: runtime/lang/menu_it_it.latin1.vim, - runtime/lang/menu_chinese_gb.936.vim - -Patch 8.2.0621 -Problem: After running tests asan files may remain. -Solution: Clean up asan files with "make testclean". -Files: src/testdir/Makefile, src/Makefile - -Patch 8.2.0622 -Problem: Haiku: GUI does not compile. -Solution: Various fixes. (Emir Sarı, closes #5961) -Files: Filelist, README.md, READMEdir/README_haiku.txt, - runtime/doc/os_haiku.txt, src/Makefile, src/beval.h, - src/gui_haiku.cc, src/proto/gui_haiku.pro - -Patch 8.2.0623 -Problem: Typo in test comment. (Christ van Willegen) -Solution: Avoid mixing up a data structure with a body part. -Files: src/testdir/test_listdict.vim - -Patch 8.2.0624 -Problem: Vim9: no check for space before #comment. -Solution: Add space checks. Fix :throw with double quoted string. -Files: src/usercmd.c, src/userfunc.c, src/vim9compile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0625 -Problem: Vim9: confusing error when calling unknown function. -Solution: Give error while compiling. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_func.vim - -Patch 8.2.0626 -Problem: Vim9: wrong syntax of function in Vim9 script. -Solution: Give error for missing space. Implement :echomsg and :echoerr. - (closes #5670) -Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c, - src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_disassemble.vim - src/testdir/test_vim9_script.vim - -Patch 8.2.0627 -Problem: Vim9: error message does not work. (Yegappan Lakshmanan) -Solution: Swap lines. -Files: src/userfunc.c - -Patch 8.2.0628 -Problem: Error in menu translations. -Solution: Insert a backslash before a space in one more file. (Shun Bai, - Emir Sarı) -Files: runtime/lang/menu_zh_cn.utf-8.vim, - runtime/lang/menu_ca_es.latin1.vim, - runtime/lang/menu_cs_cz.iso_8859-2.vim, - runtime/lang/menu_cs_cz.utf-8.vim, - runtime/lang/menu_czech_czech_republic.1250.vim, - runtime/lang/menu_czech_czech_republic.ascii.vim, - runtime/lang/menu_da.utf-8.vim, - runtime/lang/menu_fi_fi.latin1.vim, - runtime/lang/menu_hu_hu.iso_8859-2.vim, - runtime/lang/menu_hu_hu.utf-8.vim, - runtime/lang/menu_is_is.latin1.vim, - runtime/lang/menu_no_no.latin1.vim, runtime/lang/menu_pt_br.vim, - runtime/lang/menu_pt_pt.vim, - runtime/lang/menu_sk_sk.iso_8859-2.vim, - runtime/lang/menu_sl_si.latin2.vim, - runtime/lang/menu_slovak_slovak_republic.1250.vim, - runtime/lang/menu_tr_tr.cp1254.vim, - runtime/lang/menu_tr_tr.iso_8859-9.vim, - runtime/lang/menu_tr_tr.utf-8.vim, runtime/lang/menu_vi_vn.vim - -Patch 8.2.0629 -Problem: Setting a boolean option to v:false does not work. -Solution: Do not use the string representation of the value. (Christian - Brabandt, closes #5974) -Files: src/evalvars.c, src/testdir/test_options.vim - -Patch 8.2.0630 -Problem: "make tags" does not cover Haiku GUI file. -Solution: Add *.cc files. -Files: src/Make_all.mak - -Patch 8.2.0631 -Problem: Haiku file formatted with wrong tabstop. -Solution: Use normal tabstop. Fix white space. -Files: src/gui_haiku.cc - -Patch 8.2.0632 -Problem: Crash when using Haiku. -Solution: Lock the screen. (closes #5975, closes #5973) -Files: src/screen.c - -Patch 8.2.0633 -Problem: Crash when using null partial in filter(). -Solution: Fix crash. Add more tests. (Yegappan Lakshmanan, closes #5976) -Files: src/eval.c, src/testdir/test_blob.vim, - src/testdir/test_channel.vim, src/testdir/test_eval_stuff.vim, - src/testdir/test_execute_func.vim, src/testdir/test_expr.vim, - src/testdir/test_filter_map.vim, src/testdir/test_fold.vim, - src/testdir/test_functions.vim, src/testdir/test_let.vim, - src/testdir/test_listdict.vim, src/testdir/test_partial.vim, - src/testdir/test_usercommands.vim - -Patch 8.2.0634 -Problem: Crash with null partial and blob. -Solution: Check for NULL pointer. Add more tests. (Yegappan Lakshmanan, - closes #5984) -Files: src/eval.c, src/list.c, src/testdir/test_blob.vim, - src/testdir/test_bufwintabinfo.vim, src/testdir/test_cd.vim, - src/testdir/test_channel.vim, src/testdir/test_cursor_func.vim, - src/testdir/test_eval_stuff.vim, src/testdir/test_expr.vim, - src/testdir/test_filter_map.vim, src/testdir/test_fnamemodify.vim, - src/testdir/test_functions.vim, src/testdir/test_getvar.vim, - src/testdir/test_listdict.vim, src/testdir/test_messages.vim, - src/testdir/test_partial.vim, src/testdir/test_quickfix.vim, - src/testdir/test_tabpage.vim, src/testdir/test_vimscript.vim, - src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0635 -Problem: When using 256 colors DarkYellow does not show expected color. -Solution: Use color 3 instead of 130. (Romain Lafourcade, closes #5985) -Files: src/highlight.c - -Patch 8.2.0636 -Problem: :messages does not show the maintainer when $LANG is unset. -Solution: Call get_mess_lang() if available. (closes #5978) -Files: src/message.c - -Patch 8.2.0637 -Problem: Incsearch highlighting does not work for ":sort!". -Solution: Skip over the exclamation point. (closes #5983) -Files: src/ex_getln.c, src/testdir/test_search.vim, - src/testdir/dumps/Test_incsearch_sort_02.dump - -Patch 8.2.0638 -Problem: MS-Windows: messages test fails. -Solution: Clear environment variables. -Files: src/testdir/test_messages.vim - -Patch 8.2.0639 -Problem: MS-Windows: messages test still fails. -Solution: Filter out the maintainer message. -Files: src/testdir/test_messages.vim - -Patch 8.2.0640 -Problem: Vim9: expanding `=expr` does not work. -Solution: Find wildcards in not compiled commands. Reorganize test files. -Files: Filelist, src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/vim9.vim, src/testdir/test_vim9_cmd.vim, - src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, - src/testdir/Make_all.mak - -Patch 8.2.0641 -Problem: Vim9: `=expr` not expanded in :hardcopy and "syntax include". -Solution: Add the EX_EXPAND flag. Expend "syntax include". -Files: src/ex_cmds.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_cmd.vim - -Patch 8.2.0642 -Problem: Vim9: using invalid index. -Solution: Check index for being valid. Fix memory leak. -Files: src/vim9compile.c, src/clientserver.c - -Patch 8.2.0643 (after 8.2.0635) -Problem: Terminal uses brown instead of dark yellow. (Romain Lafourcade) -Solution: Use color index 3 instead of 130. (closes #5993) -Files: src/terminal.c - -Patch 8.2.0644 -Problem: Insufficient testing for invalid function arguments. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5988) -Files: runtime/doc/eval.txt, src/testdir/test_bufline.vim, - src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, - src/testdir/test_expr.vim, src/testdir/test_functions.vim, - src/testdir/test_listener.vim, src/testdir/test_match.vim, - src/testdir/test_menu.vim, src/testdir/test_quickfix.vim, - src/testdir/test_registers.vim, src/testdir/test_reltime.vim, - src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, - src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0645 -Problem: MS-Windows terminal: CTRL-C does not get to child job. -Solution: Remove CREATE_NEW_PROCESS_GROUP from CreateProcessW(). (Nobuhiro - Takasaki, closes #5987) -Files: src/terminal.c - -Patch 8.2.0646 -Problem: t_Co uses the value of $COLORS in the GUI. (Masato Nishihata) -Solution: Ignore $COLORS for the GUI. (closes #5992) -Files: src/os_unix.c, src/term.c - -Patch 8.2.0647 -Problem: MS-Windows: repeat count for events was not used. -Solution: Check the repeat count. (Nobuhiro Takasaki, closes #5989) -Files: src/os_win32.c - -Patch 8.2.0648 -Problem: Semicolon search does not work in first line. -Solution: Allow the cursor to be in line zero. (Christian Brabandt, - closes #5996) -Files: src/ex_docmd.c, src/testdir/test_cmdline.vim - -Patch 8.2.0649 -Problem: Undo problem when an InsertLeave autocommand resets undo. (Kutsan - Kaplan) -Solution: Do not create a new undo block when leaving Insert mode. -Files: src/edit.c, src/testdir/test_edit.vim - -Patch 8.2.0650 -Problem: Vim9: script function can be deleted. -Solution: Disallow deleting script function. Delete functions when sourcing - a script again. -Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, - src/vim9compile.c, src/vim9execute.c, src/vim9script.c, - src/scriptfile.c, src/testing.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim - -Patch 8.2.0651 -Problem: Old style benchmark test still in list of distributed files. -Solution: Remove the files from the list. -Files: Filelist - -Patch 8.2.0652 (after 8.2.0650) -Problem: Compiler warning for char conversion. -Solution: Use unsigned char buffer. -Files: src/userfunc.c - -Patch 8.2.0653 (after 8.2.0650) -Problem: using uninitialized pointer. -Solution: Move assignment up. (John Marriott) -Files: src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0654 -Problem: Building with Python fails. -Solution: Add missing argument. -Files: src/if_py_both.h - -Patch 8.2.0655 -Problem: Search code not sufficiently tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #5999) -Files: src/testdir/test_charsearch.vim, src/testdir/test_gn.vim, - src/testdir/test_goto.vim, src/testdir/test_ins_complete.vim, - src/testdir/test_normal.vim, src/testdir/test_search.vim, - src/testdir/test_textformat.vim, src/testdir/test_textobjects.vim, - src/testdir/test_visual.vim - -Patch 8.2.0656 -Problem: MS-Windows: redrawing right screen edge may not be needed. -Solution: Check the build version. (Nobuhiro Takasaki, closes #6002) -Files: src/drawscreen.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 8.2.0657 -Problem: Vim9: no check if called variable is a FuncRef. -Solution: Add a type check. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.0658 (after 8.2.0646) -Problem: HP-UX build fails when setenv() is not defined. -Solution: Change "colors" to "t_colors". (John Marriott) -Files: src/os_unix.c - -Patch 8.2.0659 -Problem: Vim9: no test for equal func type. -Solution: Add a test. Improve type check. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0660 -Problem: The search.c file is a bit big. -Solution: Split off the text object code to a separate file. (Yegappan - Lakshmanan, closes #6007) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/proto.h, src/proto/search.pro, src/proto/textobject.pro, - src/search.c, src/textobject.c - -Patch 8.2.0661 -Problem: Eval test is still old style. -Solution: Change into new style tests. (Yegappan Lakshmanan, closes #6009) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test_eval.in, src/testdir/test_eval.ok, - src/testdir/test_eval_stuff.vim - -Patch 8.2.0662 -Problem: Cannot use input() in a channel callback. -Solution: Reset vgetc_busy. (closes #6010) -Files: src/globals.h, src/ex_getln.c, src/evalfunc.c, - src/testdir/test_channel.vim - -Patch 8.2.0663 -Problem: Not all systemd temp files are recognized. -Solution: Add two more patterns. (Jamie Macdonald, closes #6003) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0664 -Problem: Included undesired changes in Makefile. -Solution: Revert the changes. -Files: src/Makefile - -Patch 8.2.0665 -Problem: Wrongly assuming Python executable is called "python". -Solution: Use detected python command. (Ken Takata, closes #6016) - Also use CheckFunction if possible. -Files: src/testdir/test_terminal.vim, src/testdir/check.vim - -Patch 8.2.0666 -Problem: Ruby test fails on MS-Windows. -Solution: Remove the "maintainer" line. (Ken Takata, closes #6015) -Files: src/testdir/shared.vim, src/testdir/test_messages.vim, - src/testdir/test_ruby.vim - -Patch 8.2.0667 -Problem: Cannot install Haiku version from source. -Solution: Update Makefile and rdef file. (Emir Sarı, closes #6013) -Files: Filelist, READMEdir/README_haiku.txt, runtime/doc/os_haiku.txt, - src/Makefile, src/os_haiku.rdef.in, src/os_haiku.rdef - -Patch 8.2.0668 -Problem: Compiler warning for int/size_t usage. -Solution: Change "int" to "size_t". (Mike Williams) -Files: src/vim9execute.c - -Patch 8.2.0669 -Problem: MS-Windows: display in VTP is a bit slow. -Solution: Optimize the code. (Nobuhiro Takasaki, closes #6014) -Files: src/os_win32.c, src/screen.c - -Patch 8.2.0670 -Problem: Cannot change window when evaluating 'completefunc'. -Solution: Make a difference between not changing text or buffers and also - not changing window. -Files: src/ex_getln.c, src/beval.c, src/change.c, src/edit.c, src/eval.c, - src/ex_docmd.c, src/insexpand.c, src/globals.h, src/indent.c, - src/map.c, src/window.c, src/proto/ex_getln.pro, src/register.c, - src/undo.c, src/testdir/test_edit.vim, - src/testdir/test_ins_complete.vim, src/testdir/test_popup.vim - -Patch 8.2.0671 -Problem: Haiku: compiler warnings. -Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sarı, - closes #6018) -Files: .gitignore, src/gui.c, src/gui_haiku.cc - -Patch 8.2.0672 -Problem: Heredoc in scripts does not accept lower case marker. -Solution: Allow lower case only in non-Vim scripts. (Ken Takata, - closes #6019) -Files: src/evalvars.c, src/testdir/test_lua.vim, - src/testdir/test_perl.vim, src/testdir/test_python2.vim, - src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, - src/testdir/test_pyx3.vim, src/testdir/test_ruby.vim - -Patch 8.2.0673 -Problem: Cannot build Haiku in shadow directory. -Solution: Add symlink. (Ozaki Kiichi, closes #6023) -Files: src/Makefile - -Patch 8.2.0674 -Problem: Some source files are too big. -Solution: Move text formatting functions to a new file. (Yegappan - Lakshmanan, closes #6021) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/edit.c, src/getchar.c, src/ops.c, src/option.c, src/proto.h, - src/proto/edit.pro, src/proto/getchar.pro, src/proto/ops.pro, - src/proto/option.pro, src/proto/textformat.pro, src/textformat.c - -Patch 8.2.0675 -Problem: Vim9: no support for closures. -Solution: Do not re-use stack entries. -Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, - src/evalvars.c, src/proto/evalvars.pro - -Patch 8.2.0676 -Problem: Pattern in list of distributed files does not match. -Solution: Drop "testdir/test_[a-z]*.ok". Add CI sed files. -Files: Filelist - -Patch 8.2.0677 -Problem: Vim9: no support for closures. -Solution: Find variables in the outer function scope, so long as the scope - exists. -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, - src/vim9execute.c, src/structs.h, src/vim9.h, - src/testdir/test_vim9_func.vim - -Patch 8.2.0678 -Problem: Rare crash for popup menu. -Solution: Check for NULL pointer. (Nobuhiro Takasaki, closes #6027) -Files: src/popupmenu.c - -Patch 8.2.0679 -Problem: Vim9: incomplete support for closures. -Solution: At the end of a function copy arguments and local variables if - they are still used by a referenced closure. -Files: src/structs.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_func.vim - -Patch 8.2.0680 -Problem: PTYGROUP and PTYMODE are unused. -Solution: Remove from autoconf. (closes #6024) -Files: src/configure.ac, src/auto/configure, src/config.h.in - -Patch 8.2.0681 -Problem: Pattern for 'hlsearch' highlighting may leak. (Dominique Pellé) -Solution: Call end_search_hl() to make sure the previous pattern is freed. - (closes #6028) -Files: src/screen.c - -Patch 8.2.0682 -Problem: Vim9: parsing function argument type can get stuck. -Solution: Bail out when not making progress. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0683 -Problem: Vim9: parsing type does not always work. -Solution: Handle func type without return value. Test more closures. - Fix type check offset. Fix garbage collection. -Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro, - src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0684 -Problem: Vim9: memory leak when using lambda. -Solution: Move the funccal context to the partial. Free the function when - exiting. -Files: src/vim9.h, src/structs.h, src/vim9execute.c, src/userfunc.c, - src/eval.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0685 (after 8.2.0684) -Problem: Build failure. -Solution: Include missing changes. -Files: src/vim9compile.c - -Patch 8.2.0686 -Problem: Formatoptions not sufficiently tested. -Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6031) -Files: src/testdir/test_normal.vim, src/testdir/test_textformat.vim - -Patch 8.2.0687 -Problem: Some tests do not work on FreeBSD. -Solution: Enable modeline. Use WaitFor() in more cases. (Ozaki Kiichi, - closes #6036) -Files: src/testdir/test_quickfix.vim, src/testdir/test_terminal.vim - -Patch 8.2.0688 -Problem: Output clobbered if setting 'verbose' to see shell commands. -Solution: Only output "Searching for" when 'verbose' is 11 or higher. -Files: src/scriptfile.c, runtime/doc/options.txt - -Patch 8.2.0689 -Problem: When using getaddrinfo() the error message is unclear. -Solution: Use gai_strerror() to get the message. (Ozaki Kiichi, - closes #6034) -Files: src/channel.c - -Patch 8.2.0690 -Problem: Line number of option set by modeline is wrong. -Solution: Do not double the line number. (Ozaki Kiichi, closes #6035) -Files: src/option.c, src/testdir/test_modeline.vim - -Patch 8.2.0691 -Problem: Startup test fails. -Solution: Adjust expected output from -V2 argument. -Files: src/testdir/test_startup.vim - -Patch 8.2.0692 -Problem: Startup test fails on MS-Windows. -Solution: Allow for any path. -Files: src/testdir/test_startup.vim - -Patch 8.2.0693 -Problem: Closure using argument not tested. -Solution: Add a test, make it work. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0694 -Problem: Haiku: channel and terminal do not work. -Solution: Close files when the job has finished. (Ozaki Kiichi, - closes #6039) -Files: src/channel.c, src/getchar.c, src/gui_haiku.cc, src/misc1.c - -Patch 8.2.0695 -Problem: Vim9: cannot define a function inside a function. -Solution: Initial support for :def inside :def. -Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, - src/vim9execute.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0696 -Problem: Vim9: nested function does not work properly -Solution: Create a function reference. Check argument count. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_func.vim - -Patch 8.2.0697 -Problem: Vim9: memory leak when using nested function. -Solution: Unreference function when deleting instructions. Adjust reference - count for local variables. -Files: src/vim9compile.c, src/vim9execute.c - -Patch 8.2.0698 -Problem: Insert mode completion not fully tested. -Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6041) -Files: src/testdir/test_edit.vim, src/testdir/test_ins_complete.vim, - src/testdir/test_textformat.vim - -Patch 8.2.0699 -Problem: Vim9: not all errors tested. -Solution: Add test for deleted function. Bail out on first error. -Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim - -Patch 8.2.0700 -Problem: Vim9: converting error message to exception not tested. -Solution: Test exception from error. Do not continue after :echoerr. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0701 -Problem: Vim9 test fails without job feature. -Solution: Add feature check. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0702 -Problem: Running channel tests may leave running process behind. -Solution: Make Python client exit when running into EOF. (Kurtis Rader, - part of #6046) -Files: src/testdir/test_channel_pipe.py - -Patch 8.2.0703 -Problem: Vim9: closure cannot store value in outer context. -Solution: Make storing value in outer context work. Make :disassemble - accept a function reference. -Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/eval.c, - src/structs.h, src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_func.vim - -Patch 8.2.0704 -Problem: Vim9: memory leak in disassemble test. -Solution: Decrement refcount when creating funccal. -Files: src/vim9execute.c - -Patch 8.2.0705 -Problem: Indent tests don't run on CI for FreeBSD. -Solution: Set modeline. (Ozaki Kiichi, closes #6048) -Files: .cirrus.yml, runtime/indent/testdir/runtest.vim - -Patch 8.2.0706 -Problem: Vim9: using assert_fails() causes function to finish. -Solution: Check did_emsg instead of called_emsg. -Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.0707 -Problem: Vim9 function test fails. -Solution: Adjust expected error code. -Files: src/testdir/test_vim9_func.vim - -Patch 8.2.0708 -Problem: Vim9: constant expressions are not simplified. -Solution: Simplify string concatenation. -Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.0709 -Problem: MS-Windows: compiler warning for int vs size_t. -Solution: Add type cast. (Mike Williams) -Files: src/channel.c - -Patch 8.2.0710 -Problem: Netbeans test sometimes fails. -Solution: Mark any test using an external command as flaky. -Files: src/testdir/shared.vim - -Patch 8.2.0711 -Problem: With a long running Vim the temp directory might be cleared on - some systems. -Solution: Lock the temp directory. (closes #6044) -Files: src/config.h.in, src/configure.ac, src/auto/configure, - src/fileio.c, src/globals.h, src/os_unix.h - -Patch 8.2.0712 -Problem: Various code not fully tested. -Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6049) -Files: src/testdir/test_functions.vim, src/testdir/test_options.vim, - src/testdir/test_system.vim, src/testdir/test_termcodes.vim - -Patch 8.2.0713 -Problem: The pam_environment file is not recognized. -Solution: Add a filetype pattern for pamenv. (closes #6051) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0714 -Problem: Vim9: handling constant expression does not scale. -Solution: Use another solution, passing typval_T. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0715 -Problem: Vim9: leaking memory. -Solution: Free strings after concatenating them. -Files: src/vim9compile.c - -Patch 8.2.0716 -Problem: Vim9: another memory leak. -Solution: Clear typval when failing. -Files: src/vim9compile.c - -Patch 8.2.0717 -Problem: Vim9: postponed constant expressions does not scale. -Solution: Add a structure to pass around postponed constants. -Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0718 -Problem: Gcc warning for returning pointer to local variable. (John - Marriott) -Solution: Return another pointer. -Files: src/evalvars.c - -Patch 8.2.0719 -Problem: Vim9: more expressions can be evaluated at compile time -Solution: Recognize has('name'). -Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.0720 -Problem: Occasional exit when encountering an X error. (Manfred Lotz) -Solution: On an X error do not exit, do preserve files. -Files: src/os_unix.c - -Patch 8.2.0721 -Problem: Vim9: leaking memory when skipping. -Solution: Disable skipping in generate_ppconst(). -Files: src/vim9compile.c - -Patch 8.2.0722 -Problem: Vim9: not handling constant expression for elseif. -Solution: Use postponed constants. Delete the code for evaluating a - constant expression. -Files: src/vim9compile.c - -Patch 8.2.0723 -Problem: Vim9: nested constant expression not evaluated compile time. -Solution: Use compile_expr1() for parenthesis. -Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0724 -Problem: Vim9: appending to buffer/window/tab variable not tested -Solution: Add a test. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0725 -Problem: Vim9: cannot call a function declared later in Vim9 script. -Solution: Make two passes through the script file. -Files: src/scriptfile.c, src/proto/scriptfile.pro, src/vim9script.c, - src/vim9compile.c, src/vim9execute.c, src/proto/vim9compile.pro, - src/userfunc.c, src/proto/userfunc.pro, src/evalvars.c, - src/proto/evalvars.pro, src/vim.h, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0726 -Problem: Vim9: leaking memory when calling not compiled :def function. -Solution: Check if function is compiled earlier. -Files: src/vim9execute.c - -Patch 8.2.0727 -Problem: MS-Windows: new gcc compiler does not support scanf format. -Solution: Use "%ll" instead of "%I". (Ken Takata) -Files: src/vim.h - -Patch 8.2.0728 -Problem: Messages about a deadly signal are not left aligned. -Solution: Output a CR before the NL. (Dominique Pellé, #6055) -Files: src/misc1.c, src/os_unix.c - -Patch 8.2.0729 -Problem: Vim9: When reloading a script variables are not cleared. -Solution: When sourcing a script again clear all script-local variables. -Files: src/dict.c, src/proto/dict.pro, src/scriptfile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0730 -Problem: Vim9: Assignment to dict member does not work. -Solution: Parse dict assignment. Implement getting dict member. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/globals.h, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_cmd.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.0731 -Problem: Vim9: parsing declarations continues after :finish. -Solution: Bail out when encountering :finish. -Files: src/vim9script.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0732 -Problem: Vim9: storing value in dict messes up stack. -Solution: Correct item count of stack. -Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.0733 -Problem: Vim9: assigning to dict or list argument does not work. -Solution: Recognize an argument as assignment target. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0734 -Problem: Vim9: leaking memory when using :finish. -Solution: Do not check for next line in third pass. -Files: src/scriptfile.c - -Patch 8.2.0735 -Problem: Vim9: using uninitialized memory. -Solution: Clear the arg_lvar field. -Files: src/vim9compile.c - -Patch 8.2.0736 -Problem: Some files not recognized as pamenv. -Solution: Add pam_inv.conf. (closes #6065) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0737 -Problem: When shell doesn't support CTRL-Z Vim still handles it. -Solution: Ignore the STOP signal if it was ignored on startup. - (Kurtis Rader, closes #5990, closes #6058) -Files: src/os_unix.c - -Patch 8.2.0738 -Problem: Mouse handling in a terminal window not well tested. -Solution: Add tests. (Yegappan Lakshmanan, closes #6052) -Files: src/testdir/term_util.vim, src/testdir/test_gui.vim, - src/testdir/test_modeless.vim, src/testdir/test_terminal.vim - -Patch 8.2.0739 -Problem: Incomplete profiling when exiting because of a deadly signal. -Solution: Call __gcov_flush() if available. -Files: src/os_unix.c, src/Makefile, .travis.yml - -Patch 8.2.0740 -Problem: Minor message mistakes. -Solution: Change vim to Vim and other fixes. -Files: src/if_py_both.h, src/if_tcl.c, src/main.c - -Patch 8.2.0741 -Problem: Python tests fail because of changed message. -Solution: Adjust the expected messages (Dominique Pellé, closes #6066) -Files: src/testdir/test86.ok, src/testdir/test87.ok - -Patch 8.2.0742 -Problem: Handling of a TERM signal not tested. -Solution: Add a test for SIGTERM. (Dominique Pellé, closes #6055) -Files: src/testdir/test_signals.vim - -Patch 8.2.0743 -Problem: Can move to another buffer from a terminal in popup window. -Solution: Do not allow "gf" or editing a file. (closes #6072) -Files: src/normal.c, src/ex_cmds.c, src/testdir/test_popupwin.vim - -Patch 8.2.0744 -Problem: The name vim is not capitalized in a message. -Solution: Use "Vim" instead of "vim". -Files: src/main.c - -Patch 8.2.0745 -Problem: Crash on exit when not all popups are closed. -Solution: Close popups when freeing all memory. Disable checking for popup - when editing a file for now. -Files: src/misc2.c, src/ex_cmds.c - -Patch 8.2.0746 -Problem: popup_clear() hangs when a popup can't be closed. -Solution: Bail out when a popup can't be closed. -Files: src/popupwin.c, src/proto/popupwin.pro - -Patch 8.2.0747 -Problem: Cannot forcefully close all popups. -Solution: Add the "force" argument to popup_clear(). Use it after running a - test. Put back the check for a popup when editing a file. -Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, - src/proto/popupwin.pro, src/tag.c, src/window.c, src/misc2.c, - src/ex_cmds.c, src/channel.c, src/testdir/runtest.vim, - src/testdir/test_terminal.vim - -Patch 8.2.0748 -Problem: Cannot get a list of all popups. -Solution: Add popup_list(). Use it in the test runner. -Files: runtime/doc/eval.txt, runtime/doc/popup.txt, src/popupwin.c, - src/proto/popupwin.pro, src/evalfunc.c, - src/testdir/test_popupwin.vim, src/testdir/runtest.vim - -Patch 8.2.0749 -Problem: TERM signal test fails on FreeBSD. -Solution: Do not check the messages, the may appear anywhere. (Dominique - Pellé, closes #6075) -Files: src/testdir/test_signals.vim - -Patch 8.2.0750 -Problem: Netbeans test is a bit flaky. -Solution: Allow for standard sign to be defined. Use WaitForAssert(). -Files: src/testdir/test_netbeans.vim - -Patch 8.2.0751 -Problem: Vim9: performance can be improved. -Solution: Don't call break. Inline check for list materialize. Make an - inline version of ga_grow(). -Files: src/macros.h, src/evalfunc.c, src/misc2.c, - src/proto/misc2.pro, src/channel.c, src/eval.c, src/evalbuffer.c, - src/evalvars.c, src/filepath.c, src/highlight.c, src/insexpand.c, - src/json.c, src/list.c, src/popupmenu.c, src/popupwin.c, - src/userfunc.c, src/if_py_both.h - -Patch 8.2.0752 -Problem: Terminal in popup window test is a bit flaky. -Solution: Wait for shell job status to be "run". Mark as flaky test. -Files: src/testdir/test_popupwin.vim - -Patch 8.2.0753 -Problem: Vim9: expressions are evaluated in the discovery phase. -Solution: Bail out if an expression is not a constant. Require a type for - declared constants. -Files: src/vim.h, src/evalvars.c, src/eval.c, src/ex_eval.c, - src/evalfunc.c, src/userfunc.c, src/dict.c, src/list.c, - src/vim9compile.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0754 -Problem: Vim9: No test for forward declaration. -Solution: Add a test. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0755 -Problem: Vim9: No error when variable initializer is not a constant. -Solution: Return FAIL when trying to get a variable value. Do not execute a - script when an error is detected in the first or second phase. -Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0756 (after 8.2.0249) -Problem: MS-Windows: still a compiler warning. -Solution: Move flag to another place in the Makefile. (Ken Takata, - closes #6083) -Files: src/Make_mvc.mak - -Patch 8.2.0757 -Problem: Vim9: no test for MEMBER instruction. -Solution: Add a test. Make matches stricter. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0758 -Problem: Vim9: no test for STORELIST and STOREDICT. -Solution: Add a test. Make matches stricter. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.0759 (after 8.2.0751) -Problem: Vim9: missing changes for performance improvements -Solution: Use GA_GROW(). Don't call breakcheck so often. -Files: src/vim9execute.c - -Patch 8.2.0760 -Problem: Vim9: dict member errors not tested. -Solution: Delete unreachable error. Add tests. -Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.0761 -Problem: Vim9: instructions not tested -Solution: Use a variable instead of a constant. -Files: src/testdir/test_vim9_expr.vim - -Patch 8.2.0762 -Problem: Buffer is not considered modified after setting crypt key. -Solution: Set the modified flag. (Christian Brabandt, closes #6082) -Files: src/optionstr.c, src/testdir/test_crypt.vim - -Patch 8.2.0763 -Problem: GUI test fails without the terminal feature. -Solution: Check the terminal feature is supported. (Ken Takata, - closes #6084) -Files: src/testdir/test_gui.vim - -Patch 8.2.0764 -Problem: Vim9: assigning to option not fully tested. -Solution: Add more test cases. Allow using any type for assignment. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0765 -Problem: In the GUI can't use all the modifiers. (Andri Möll) -Solution: Do not apply Alt/Meta early, do it later like with the terminal. - Avoid the Motif test from crashing. -Files: src/gui_gtk_x11.c, src/gui_x11.c, src/gui_mac.c, src/gui_w32.c, - src/gui_motif.c - -Patch 8.2.0766 -Problem: Display error when using 'number' and 'breakindent'. -Solution: Adjust extra spaces in the first row. (Ken Takata, closes #6089, - closes #5986) -Files: src/drawline.c, src/testdir/test_breakindent.vim - -Patch 8.2.0767 -Problem: ModifyOtherKeys active when using a shell command in autocmd. -Solution: Output T_CTE when going to cooked mode. (closes 5617) -Files: src/term.c - -Patch 8.2.0768 -Problem: Vim9: memory leak in script test. -Solution: Clear typval before giving an error message. -Files: src/vim9execute.c - -Patch 8.2.0769 -Problem: VimLeavePre not triggered when Vim is terminated. -Solution: Unblock autocommands. -Files: src/main.c, src/testdir/test_signals.vim - -Patch 8.2.0770 -Problem: Cannot map CTRL-B when using the GUI. -Solution: Reset the CTRL modifier when used. (closes #6092) -Files: src/gui_gtk_x11.c - -Patch 8.2.0771 -Problem: Vim9: cannot call a compiled closure from not compiled code. -Solution: Pass funcexe to call_user_func(). -Files: src/userfunc.c, src/vim9execute.c, src/proto/vim9execute.pro, - src/eval.c, src/testdir/test_vim9_func.vim - -Patch 8.2.0772 -Problem: Vim9: some variable initializations not tested. -Solution: Add a few more tests -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0773 -Problem: Switching to raw mode every time ":" is used. -Solution: When executing a shell set cur_tmode to TMODE_UNKNOWN, so that the - next time TMODE_RAW is used it is set, but not every time. -Files: src/term.h, src/os_unix.c, src/term.c, src/os_amiga.c, - src/os_win32.c - -Patch 8.2.0774 -Problem: t_TI and t_TE are output when using 'visualbell'. (Dominique - Pellé) -Solution: Do not change the terminal mode for a short sleep. Do not output - t_TI and t_TE when switching to/from TMODE_SLEEP. Make tmode an - enum. -Files: src/os_unix.c, src/proto/os_unix.pro, src/os_amiga.c, - src/proto/os_amiga.pro, src/os_mswin.c, src/proto/os_mswin.pro, - src/os_vms.c, src/proto/os_vms.pro, src/os_win32.c, - src/proto/os_win32.pro, src/term.c, src/term.h, src/globals.h - -Patch 8.2.0775 -Problem: Not easy to call a Vim function from Lua. -Solution: Add vim.call() and vim.fn(). (Prabir Shrestha, closes #6063) -Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim - -Patch 8.2.0776 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revision 719. -Files: Filelist, src/libvterm/README, src/libvterm/Makefile, - src/libvterm/find-wide-chars.pl, src/libvterm/src/fullwidth.inc, - src/libvterm/src/unicode.c - -Patch 8.2.0777 (after 8.2.0776) -Problem: Terminal test fails. -Solution: Adjust character position for double-wide characters. -Files: src/testdir/test_terminal.vim - -Patch 8.2.0778 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 720 - 723. -Files: src/libvterm/t/10state_putglyph.test, src/libvterm/Makefile, - src/libvterm/t/run-test.pl, src/libvterm/src/state.c, - src/libvterm/t/92lp1805050.test - -Patch 8.2.0779 -Problem: Tmode_T not used everywhere. -Solution: Also use tmode_T for settmode(). -Files: src/term.c, src/proto/term.pro - -Patch 8.2.0780 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 724 - 726. -Files: Filelist, src/libvterm/t/40screen_ascii.test, - src/libvterm/t/60screen_ascii.test, - src/libvterm/t/41screen_unicode.test, - src/libvterm/t/61screen_unicode.test, - src/libvterm/t/42screen_damage.test, - src/libvterm/t/62screen_damage.test, - src/libvterm/t/43screen_resize.test, - src/libvterm/t/63screen_resize.test, - src/libvterm/t/44screen_pen.test, - src/libvterm/t/64screen_pen.test, - src/libvterm/t/45screen_protect.test, - src/libvterm/t/65screen_protect.test, - src/libvterm/t/46screen_extent.test, - src/libvterm/t/66screen_extent.test, - src/libvterm/t/47screen_dbl_wh.test, - src/libvterm/t/67screen_dbl_wh.test, - src/libvterm/t/48screen_termprops.test, - src/libvterm/t/68screen_termprops.test, src/libvterm/t/30pen.test, - src/libvterm/t/30state_pen.test, src/libvterm/t/92lp1805050.test, - src/libvterm/t/31state_rep.test, src/libvterm/doc/seqs.txt - -Patch 8.2.0781 (after 8.2.0775) -Problem: Compiler warning for not using value in Lua. -Solution: Add "(void)". -Files: src/if_lua.c - -Patch 8.2.0782 -Problem: Cannot build with Lua on MS-Windows. -Solution: Add DLL symbol for luaL_Loadstring. (Ken Takata) -Files: src/if_lua.c - -Patch 8.2.0783 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 728 - 729. -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, - src/libvterm/src/keyboard.c, src/libvterm/t/25state_input.test, - src/libvterm/t/harness.c, src/libvterm/src/vterm.c, - src/libvterm/src/vterm_internal.h, - src/libvterm/t/26state_query.test - -Patch 8.2.0784 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 730 - 733. -Files: src/libvterm/src/vterm.c, src/libvterm/src/state.c, - src/libvterm/include/vterm.h, src/libvterm/src/vterm_internal.h, - src/libvterm/t/harness.c - -Patch 8.2.0785 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 734 - 740. -Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c, - src/libvterm/src/vterm.c, src/libvterm/doc/seqs.txt, - src/libvterm/t/30state_pen.test, src/libvterm/t/run-test.pl, - src/libvterm/Makefile, src/libvterm/CONTRIBUTING - -Patch 8.2.0786 -Problem: Channel test is flaky on FreeBSD. -Solution: Set the socket TCP_NODELAY option. Adjust expected line count in - netbeans test. (Ozaki Kiichi, closes #6097) -Files: src/testdir/test_channel.py, src/testdir/test_netbeans.vim - -Patch 8.2.0787 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 741 - 742. -Files: Filelist, src/libvterm/src/screen.c - -Patch 8.2.0788 -Problem: Memory leak in libvterm. -Solution: free tmpbuffer. -Files: src/libvterm/src/vterm.c - -Patch 8.2.0789 -Problem: Vim9: expression testing lost coverage using constants. -Solution: Use a few variables instead of constants. -Files: src/testdir/test_vim9_expr.vim - -Patch 8.2.0790 -Problem: Vim9: list index not well tested. -Solution: Add a few more tests. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0791 -Problem: A second popup window with terminal causes trouble. -Solution: Disallow opening a second terminal-popup window. (closes #6101, - closes #6103) Avoid defaulting to an invalid line number. -Files: runtime/doc/popup.txt, src/popupwin.c, src/ex_docmd.c, - src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim - -Patch 8.2.0792 -Problem: Build failure with small features. -Solution: Add #ifdef. -Files: src/popupwin.c - -Patch 8.2.0793 -Problem: MS-Windows: cannot build GUI with small features. (Michael Soyka) -Solution: Add #ifdef around use of windowsVersion. (Ken Takata) -Files: src/os_win32.c - -Patch 8.2.0794 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 743 - 747. -Files: src/libvterm/src/state.c, src/libvterm/src/screen.c, - src/libvterm/src/vterm_internal.h, src/libvterm/include/vterm.h, - src/libvterm/t/67screen_dbl_wh.test, src/libvterm/t/run-test.pl - -Patch 8.2.0795 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 748 - 754. -Files: src/libvterm/include/vterm.h, src/libvterm/src/screen.c, - src/libvterm/src/state.c, src/libvterm/t/32state_flow.test, - src/libvterm/t/60screen_ascii.test, - src/libvterm/t/62screen_damage.test, - src/libvterm/t/63screen_resize.test, src/libvterm/t/harness.c, - src/libvterm/t/run-test.pl - -Patch 8.2.0796 -Problem: MS-Windows: compiler can't handle C99 construct in libvterm. -Solution: Change to C90 construct. -Files: src/libvterm/src/state.c - -Patch 8.2.0797 -Problem: MS-Windows: compiler still can't handle C99 construct. -Solution: Change to C90 construct. (Dominique Pellé, closes #6106) -Files: src/libvterm/src/state.c - -Patch 8.2.0798 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 755 - 758. -Files: src/libvterm/t/run-test.pl, src/libvterm/src/screen.c, - src/libvterm/t/harness.c, src/libvterm/include/vterm.h, - src/libvterm/src/parser.c, src/libvterm/src/state.c, - src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, - src/libvterm/t/02parser.test, - src/libvterm/t/18state_termprops.test, - src/libvterm/t/29state_fallback.test, - src/libvterm/t/68screen_termprops.test, src/terminal.c - -Patch 8.2.0799 -Problem: Build fails if snprintf is not available. -Solution: Use vim_snprintf(). -Files: src/libvterm/src/state.c - -Patch 8.2.0800 -Problem: Errors from failing test are unclear. -Solution: Include text where parsing failed. -Files: src/json.c, src/testdir/test_json.vim - -Patch 8.2.0801 -Problem: Terminal test fails on Mac. -Solution: Concatenate OSC pieces. -Files: src/terminal.c - -Patch 8.2.0802 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 759 - 762. -Files: src/terminal.c, src/libvterm/doc/seqs.txt, - src/libvterm/include/vterm.h, src/libvterm/src/pen.c, - src/libvterm/src/screen.c, src/libvterm/src/state.c, - src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, - src/libvterm/t/harness.c, src/libvterm/t/12state_scroll.test - -Patch 8.2.0803 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revisions 764 - 767 -Files: src/Makefile, src/libvterm/src/parser.c, - src/libvterm/src/vterm_internal.h, src/libvterm/t/02parser.test, - src/libvterm/t/run-test.pl, src/libvterm/find-wide-chars.pl, - src/libvterm/src/fullwidth.inc - -Patch 8.2.0804 -Problem: Libvterm code lags behind the upstream version. -Solution: Include revision 727, but add the index instead of switching - between RGB and indexed. -Files: src/terminal.c, src/term.c, src/libvterm/include/vterm.h, - src/libvterm/src/pen.c src/libvterm/src/screen.c - src/libvterm/src/vterm_internal.h src/libvterm/t/30state_pen.test - src/libvterm/t/harness.c, src/libvterm/src/state.c, - src/libvterm/t/26state_query.test, - src/libvterm/t/64screen_pen.test - -Patch 8.2.0805 -Problem: Terminal key codes test fails on some systems. -Solution: Skip keypad 3 and 9. (Yegappan Lakshmanan, closes #6070) -Files: src/testdir/test_terminal.vim - -Patch 8.2.0806 -Problem: using "func!" after vim9script gives confusing error. -Solution: Give E477. (closes #6107) -Files: src/vim9script.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0807 -Problem: Cannot easily restore a mapping. -Solution: Add mapset(). -Files: runtime/doc/eval.txt, src/map.c, src/proto/map.pro, src/evalfunc.c - src/testdir/test_maparg.vim - -Patch 8.2.0808 -Problem: Not enough testing for the terminal window. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6069) Fix memory - leak. -Files: src/testdir/test_gui.vim, src/testdir/test_terminal.vim, - src/terminal.c - -Patch 8.2.0809 -Problem: Build failure with small features. (Tony Mechelynck) -Solution: Move "expr" inside #ifdef. -Files: src/map.c - -Patch 8.2.0810 -Problem: Error when appending "tagfile" to 'wildoptions'. -Solution: use flags P_ONECOMMA and P_NODUP. (Dmitri Vereshchagin, - closes #6105) -Files: src/optiondefs.h, src/testdir/test_options.vim - -Patch 8.2.0811 -Problem: Terminal keycode test is flaky. -Solution: Use WaitForAssert() -Files: src/testdir/test_terminal.vim - -Patch 8.2.0812 -Problem: mapset() does not properly handle <> notation. -Solution: Convert <> codes. (closes #6116) -Files: src/map.c, src/testdir/test_maparg.vim - -Patch 8.2.0813 -Problem: libvterm code is slightly different from upstream. -Solution: Use upstream text to avoid future merge problems. Mainly comment - style changes. -Files: src/libvterm/include/vterm.h, src/libvterm/src/rect.h, - src/libvterm/src/utf8.h, src/libvterm/src/vterm_internal.h, - src/libvterm/src/encoding.c, src/libvterm/src/keyboard.c, - src/libvterm/src/mouse.c, src/libvterm/src/parser.c, - src/libvterm/src/pen.c, src/libvterm/src/screen.c, - src/libvterm/src/state.c, src/libvterm/src/unicode.c, - src/libvterm/src/vterm.c - -Patch 8.2.0814 -Problem: Clang warning for implicit conversion. -Solution: Add type cast. (Dominique Pellé, closes #6124) -Files: src/evalfunc.c - -Patch 8.2.0815 -Problem: maparg() does not provide enough information for mapset(). -Solution: Add "lhsraw" and "lhsrawalt" items. Drop "simplified" -Files: src/map.c, runtime/doc/eval.txt, src/testdir/test_maparg.vim - -Patch 8.2.0816 -Problem: Terminal test fails when compiled with Athena. -Solution: Do give an error when the GUI is not running. (hint by Dominique - Pellé, closes #5928, closes #6132) -Files: src/globals.h, src/gui.c, src/term.c, src/channel.c, - src/testdir/test_terminal.vim - -Patch 8.2.0817 -Problem: Not enough memory allocated when converting string with special - character. -Solution: Reserve space for modifier code. (closes #6130) -Files: src/eval.c, src/testdir/test_functions.vim - -Patch 8.2.0818 -Problem: Vim9: using a discovery phase doesn't work well. -Solution: Remove the discovery phase, instead compile a function only when - it is used. Add :defcompile to compile def functions earlier. -Files: runtime/doc/vim9.txt, src/vim9script.c, src/structs.h, - src/userfunc.c, src/proto/userfunc.pro, src/eval.c, - src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, - src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h, - src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim, - src/testdir/test_vim9_disassemble.vim - src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim - -Patch 8.2.0819 -Problem: Compiler warning for unused variable. -Solution: Remove the variable. -Files: src/evalvars.c - -Patch 8.2.0820 -Problem: Vim9: function type isn't set until compiled. -Solution: Set function type early. -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, - src/testdir/test_vim9_func.vim - -Patch 8.2.0821 -Problem: Vim9: memory leak in expr test. -Solution: Do not decrement the length of the list of functions if the - current function is not at the end. -Files: src/vim9compile.c - -Patch 8.2.0822 -Problem: Vim9: code left over from discovery phase. -Solution: Remove the dead code. -Files: src/scriptfile.c, src/proto/scriptfile.pro, src/ex_cmds.h, - src/evalvars.c, src/proto/evalvars.pro, src/ex_docmd.c - -Patch 8.2.0823 -Problem: Vim9: script reload test is disabled. -Solution: Compile a function in the context of the script where it was - defined. Set execution stack for compiled function. Add a test - that an error is reported for the right file/function. -Files: src/vim9compile.c, src/vim9execute.c, src/scriptfile.c, - src/proto/scriptfile.pro, src/userfunc.c, src/globals.h, - src/structs.h, src/ex_docmd.c, src/ex_eval.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0824 (after 8.2.0817) -Problem: Still not enough memory allocated when converting string with - special character. -Solution: Reserve space for expanding K_SPECIAL. (closes #6130) -Files: src/eval.c, src/testdir/test_functions.vim - -Patch 8.2.0825 -Problem: def_function() may return pointer that was freed. -Solution: Set "fp" to NULL after freeing it. -Files: src/userfunc.c - -Patch 8.2.0826 -Problem: Vim9: crash in :defcompile. -Solution: Restart the loop after a call to compile_def_function() caused the - hash table to resize. -Files: src/userfunc.c - -Patch 8.2.0827 -Problem: Vim9: crash in :defcompile. -Solution: Fix off-by-one error. -Files: src/userfunc.c - -Patch 8.2.0828 -Problem: Travis: regexp pattern doesn't work everywhere. -Solution: Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146) -Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, - ci/config.mk.sed, src/if_ruby.c - -Patch 8.2.0829 -Problem: filter() may give misleading error message. -Solution: Also mention Blob as an allowed argument. -Files: src/list.c, src/testdir/test_filter_map.vim - -Patch 8.2.0830 -Problem: Motif: can't map "!". (Ben Jackson) -Solution: Remove the shift modifier if it's already included in the key. - (closes #6147) -Files: src/gui_x11.c - -Patch 8.2.0831 -Problem: Compiler warnings for integer sizes. -Solution: Add type casts. (Mike Williams) -Files: src/libvterm/src/pen.c, src/terminal.c - -Patch 8.2.0832 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Add initial value. -Files: src/map.c - -Patch 8.2.0833 -Problem: Mapping <C-bslash> doesn't work in the GUI. -Solution: Reset seenModifyOtherKeys when starting the GUI. (closes #6150) -Files: src/gui.c - -Patch 8.2.0834 -Problem: :drop command in terminal popup causes problems. -Solution: Check for using a popup window. (closes #6151) -Files: src/ex_cmds.c, src/testdir/test_popupwin.vim - -Patch 8.2.0835 -Problem: Motif: mapping <C-bslash> still doesn't work. -Solution: Accept CSI for K_SPECIAL. Do not apply CTRL to the character - early. (closes #6150) -Files: src/getchar.c, src/gui_x11.c - -Patch 8.2.0836 -Problem: Not all :cdo output is visible. -Solution: Reset 'shortmess' temporarily. (Yegappan Lakshmanan, closes #6155) -Files: src/ex_cmds2.c, src/testdir/test_cdo.vim - -Patch 8.2.0837 -Problem: Compiler warning for value set but not used. -Solution: Move variable inside #ifdef. -Files: src/channel.c - -Patch 8.2.0838 -Problem: MS-Windows: compiler warning for uninitialized variables. -Solution: Initialize variables. -Files: src/screen.c - -Patch 8.2.0839 -Problem: Dropping modifier when putting a character back in typeahead. -Solution: Add modifier to ins_char_typebuf(). (closes #6158) -Files: src/getchar.c, src/proto/getchar.pro, src/message.c, src/normal.c, - src/terminal.c, src/globals.h, src/testdir/test_messages.vim - -Patch 8.2.0840 -Problem: Search match count wrong when only match is in fold. -Solution: Update search stats when in a closed fold. (Christian Brabandt, - closes #6160, closes #6152) -Files: src/search.c, src/testdir/dumps/Test_searchstat_3.dump, - src/testdir/test_search_stat.vim - -Patch 8.2.0841 -Problem: 'verbose' value 16 causes duplicate output. -Solution: Combine levels 15 and 16 into one message. (Christian Brabandt, - closes #6153) -Files: runtime/doc/options.txt, src/ex_docmd.c - -Patch 8.2.0842 (after 8.2.0837) -Problem: MS-Windows: channel tests fail. -Solution: Adjust #ifdefs. (closes #6162) -Files: src/channel.c - -Patch 8.2.0843 -Problem: Filetype elm not detected. -Solution: Recognize *.elm files. (closes #6157) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0844 -Problem: Text properties crossing lines not handled correctly. -Solution: When saving for undo include an extra line when needed and do not - adjust properties when undoing. (Axel Forsman, closes #5875) -Files: src/memline.c, src/proto/memline.pro, src/undo.c, src/structs.h - -Patch 8.2.0845 -Problem: Text properties crossing lines not handled correctly. -Solution: When joining lines merge text properties if possible. - (Axel Forsman, closes #5839, closes #5683) -Files: src/testdir/test_textprop.vim, src/memline.c, src/ops.c, - src/proto/textprop.pro, src/textprop.c, - src/testdir/dumps/Test_textprop_01.dump - -Patch 8.2.0846 -Problem: Build failure with small features. -Solution: Add #ifdef. -Files: src/undo.c - -Patch 8.2.0847 -Problem: Typval related code is spread out. -Solution: Move code to new typval.c file. (Yegappan Lakshmanan, closes #6093) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/eval.c, src/evalfunc.c, src/globals.h, src/proto.h, - src/proto/eval.pro, src/proto/evalfunc.pro, src/proto/typval.pro, - src/typval.c - -Patch 8.2.0848 -Problem: MS-Windows: the Windows terminal code has some flaws. -Solution: Do not redraw the right edge of the screen. Remove the background - color trick. Flush the screen output buffer often. (Nobuhiro - Takasaki, #5546) -Files: src/os_win32.c, src/proto/os_win32.pro, src/term.c - -Patch 8.2.0849 -Problem: BeOS code is not maintained and probably unused. -Solution: Remove the BeOS code. (Emir Sarı, closes #5817) -Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure, - src/evalfunc.c, src/normal.c, src/os_beos.c, src/os_beos.h, - src/os_beos.rsrc, src/os_unix.c, src/proto.h, - src/proto/os_beos.pro, src/pty.c, src/screen.c, src/term.c, - src/testdir/test_functions.vim, src/ui.c, src/vim.h - -Patch 8.2.0850 -Problem: MS-Windows: exepath() works differently from cmd.exe. -Solution: Make exepath() work better on MS-Windows. (closes #6115) -Files: runtime/doc/eval.txt, src/os_win32.c, - src/testdir/test_functions.vim - -Patch 8.2.0851 (after 8.2.0833) -Problem: Can't distinguish <M-a> from accented "a" in the GUI. -Solution: Use another way to make mapping <C-bslash> work. (closes #6163) -Files: src/gui.c, src/gui_gtk_x11.c, src/getchar.c - -Patch 8.2.0852 -Problem: Cannot map CTRL-S on some systems. -Solution: Do not use CTRL-S for flow control. -Files: src/os_unix.c - -Patch 8.2.0853 -Problem: ml_delete() often called with FALSE argument. -Solution: Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE. -Files: src/buffer.c, src/change.c, src/diff.c, src/evalbuffer.c, - src/ex_cmds.c, src/ex_docmd.c, src/fileio.c, src/if_lua.c, - src/if_mzsch.c, src/if_ruby.c, src/if_tcl.c, src/normal.c, - src/popupmenu.c, src/popupwin.c, src/quickfix.c, src/spell.c, - src/terminal.c, src/if_perl.xs, src/if_py_both.h, src/memline.c, - src/proto/memline.pro - -Patch 8.2.0854 -Problem: Xxd cannot show offset as a decimal number. -Solution: Add the "-d" flag. (Aapo Rantalainen, closes #5616) -Files: src/testdir/test_xxd.vim, src/xxd/xxd.c - -Patch 8.2.0855 -Problem: GUI tests fail because the test doesn't use a modifier. -Solution: Add "\{xxx}" to be able to encode a modifier. -Files: runtime/doc/eval.txt, src/typval.c, src/misc2.c, src/vim.h, - src/proto/misc2.pro, src/gui_mac.c, src/option.c, src/highlight.c, - src/term.c, src/testdir/test_backspace_opt.vim, - src/testdir/test_mapping.vim, src/testdir/test_messages.vim - -Patch 8.2.0856 (after 8.2.0852) -Problem: CTRL-S stops output. -Solution: Invert the IXON flag. (closes #6166) -Files: src/os_unix.c - -Patch 8.2.0857 -Problem: GTK cell height can be a pixel too much. -Solution: Subtract 3 instead of 1 when rounding. (closes #6168) -Files: src/gui_gtk_x11.c - -Patch 8.2.0858 -Problem: Not easy to require Lua modules. -Solution: Improve use of Lua path. (Prabir Shrestha, closes #6098) -Files: Filelist, src/if_lua.c, src/optionstr.c, src/proto/if_lua.pro, - src/testdir/test_lua.vim, - src/testdir/testluaplugin/lua/testluaplugin/hello.lua, - src/testdir/testluaplugin/lua/testluaplugin/init.lua - -Patch 8.2.0859 -Problem: No Turkish translation of the manual. -Solution: Add Turkish translations. (Emir Sarı, closes #5641) -Files: Filelist, runtime/doc/Makefile, runtime/doc/evim-tr.1, - runtime/doc/evim-tr.UTF-8.1, runtime/doc/vim-tr.1, - runtime/doc/vim-tr.UTF-8.1, runtime/doc/vimdiff-tr.1, - runtime/doc/vimdiff-tr.UTF-8.1, runtime/doc/vimtutor-tr.1, - runtime/doc/vimtutor-tr.UTF-8.1, src/Makefile - -Patch 8.2.0860 -Problem: Cannot use CTRL-A and CTRL-X on unsigned numbers. -Solution: Add "unsigned" to 'nrformats'. (Naruhiko Nishino, closes #6144) -Files: runtime/doc/options.txt, src/ops.c, src/optionstr.c, - src/testdir/test_increment.vim - -Patch 8.2.0861 -Problem: Cannot easily get all the current marks. -Solution: Add getmarklist(). (Yegappan Lakshmanan, closes #6032) -Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, - src/mark.c, src/proto/mark.pro, src/testdir/test_marks.vim - -Patch 8.2.0862 -Problem: ":term ++curwin" makes the current buffer hidden. (Harm te - Hennepe) -Solution: Do not hide the current buffer. (closes #6170) -Files: src/terminal.c, src/testdir/test_terminal.vim - -Patch 8.2.0863 -Problem: Cannot set a separate color for underline/undercurl. -Solution: Add the t_AU and t_8u termcap codes. (Timur Celik, closes #6011) -Files: runtime/doc/syntax.txt, runtime/doc/term.txt, src/globals.h, - src/highlight.c, src/optiondefs.h, src/proto/term.pro, - src/screen.c, src/structs.h, src/term.c, src/term.h, - src/testdir/test_options.vim - -Patch 8.2.0864 -Problem: Pragmas are indented all the way to the left. -Solution: Add an option to indent pragmas like normal code. (Max Rumpf, - closes #5468) -Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h, - src/testdir/test_cindent.vim - -Patch 8.2.0865 -Problem: Syntax foldlevel is taken from the start of the line. -Solution: Add ":syn foldlevel" to be able to use the minimal foldlevel in - the line. (Brad King, closes #6087) -Files: runtime/doc/syntax.txt, src/structs.h, src/syntax.c, - src/testdir/test_syntax.vim - -Patch 8.2.0866 -Problem: Not enough tests for buffer writing. -Solution: Add more tests. Use CheckRunVimInTerminal in more places. - (Yegappan Lakshmanan, closes #6167) -Files: src/testdir/test_arglist.vim, src/testdir/test_match.vim, - src/testdir/test_messages.vim, src/testdir/test_netbeans.py, - src/testdir/test_netbeans.vim, src/testdir/test_search.vim, - src/testdir/test_signals.vim, src/testdir/test_signs.vim, - src/testdir/test_startup.vim, src/testdir/test_startup_utf8.vim, - src/testdir/test_syntax.vim, src/testdir/test_tabpage.vim, - src/testdir/test_timers.vim, src/testdir/test_vimscript.vim, - src/testdir/test_writefile.vim - -Patch 8.2.0867 -Problem: Using \{xxx} for encoding a modifier is not nice. -Solution: Use \<*xxx> instead, since it's the same as \<xxx> but producing a - different code. -Files: runtime/doc/eval.txt, src/typval.c, src/misc2.c, src/vim.h, - src/testdir/test_backspace_opt.vim, src/testdir/test_mapping.vim, - src/testdir/test_messages.vim - -Patch 8.2.0868 -Problem: trim() always trims both ends. -Solution: Add an argument to only trim the beginning or end. (Yegappan - Lakshmanan, closes #6126) -Files: runtime/doc/eval.txt, src/evalfunc.c, - src/testdir/test_functions.vim - -Patch 8.2.0869 -Problem: It is not possible to customize the quickfix window contents. -Solution: Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes #5465) -Files: runtime/doc/eval.txt, runtime/doc/options.txt, - runtime/doc/quickfix.txt, src/option.h, src/optiondefs.h, - src/quickfix.c, src/testdir/test_quickfix.vim - -Patch 8.2.0870 -Problem: MS-Windows: Control keys don't work in the GUI. -Solution: Don't set seenModifyOtherKeys for now. (Yasuhiro Matsumoto, - closes #6175) -Files: src/gui.c - -Patch 8.2.0871 -Problem: Cannot use getmarklist() as a method. -Solution: Make getmarklist() work as a method. Add one to the column - number to match getpos(). (Yegappan Lakshmanan, closes #6176) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/mark.c, - src/testdir/test_marks.vim - -Patch 8.2.0872 -Problem: XIM code is mixed with multibyte code. -Solution: Move the XIM code to a separate file. (Yegappan Lakshmanan, - closes #6177) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/gui_xim.c, - src/mbyte.c, src/proto.h, src/proto/gui_xim.pro, - src/proto/mbyte.pro - -Patch 8.2.0873 -Problem: A .jl file can be sawfish (lisp) or Julia. -Solution: Do not recognize *.jl as lisp, since it might be Julia. - (closes #6178) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0874 -Problem: Signals test is a bit flaky. -Solution: Flush the XautoOut file. Delete files that may be left behind - from a failure. (Dominique Pellé, closes #6179) -Files: src/testdir/test_signals.vim - -Patch 8.2.0875 -Problem: Getting attributes for directory entries is slow. -Solution: Add readdirex(). (Ken Takata, closes #5619) -Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, - src/fileio.c, src/filepath.c src/proto/fileio.pro, - src/proto/filepath.pro, src/testdir/test_functions.vim - -Patch 8.2.0876 -Problem: :pwd does not give a hint about the scope of the directory -Solution: Make ":verbose pwd" show the scope. (Takuya Fujiwara, closes #5469) -Files: runtime/doc/editing.txt, src/ex_docmd.c, src/testdir/test_cd.vim - -Patch 8.2.0877 -Problem: Cannot get the search statistics. -Solution: Add the searchcount() function. (Fujiwara Takuya, closes #4446) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/macros.h, - src/proto/search.pro, src/search.c, - src/testdir/test_search_stat.vim - -Patch 8.2.0878 -Problem: No reduce() function. -Solution: Add a reduce() function. (closes #5481) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/globals.h, src/list.c, - src/proto/list.pro, src/testdir/test_listdict.vim - -Patch 8.2.0879 -Problem: Compiler warning for unused function argument. -Solution: Add UNUSED. -Files: src/search.c - -Patch 8.2.0880 (after 8.2.0877) -Problem: Leaking memory when using searchcount(). -Solution: Free the last used search pattern. -Files: src/search.c - -Patch 8.2.0881 -Problem: Compiler warning for argument type. -Solution: Add type cast. (Mike Williams) -Files: src/ops.c - -Patch 8.2.0882 -Problem: Leaking memory when using reduce(). -Solution: Free the intermediate value. -Files: src/list.c - -Patch 8.2.0883 -Problem: Memory leak in test 49. -Solution: Free "sfile" from the exception. -Files: src/ex_docmd.c - -Patch 8.2.0884 -Problem: Searchcount() test fails on slower systems. -Solution: Set a longer timeout. -Files: src/search.c, src/testdir/test_search_stat.vim - -Patch 8.2.0885 -Problem: "make shadow" does not link new lua test dir. -Solution: Also link testdir/testluaplugin. (Elimar Riesebieter) -Files: src/Makefile - -Patch 8.2.0886 -Problem: Cannot use octal numbers in scriptversion 4. -Solution: Add the "0o" notation. (Ken Takata, closes #5304) -Files: runtime/doc/eval.txt, src/charset.c, src/evalfunc.c, - src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, - src/vim.h - -Patch 8.2.0887 -Problem: Searchcount().exact_match is 1 right after a match. -Solution: Use LT_POS() instead of LTOREQ_POS(). (closes #6189) -Files: src/search.c, src/testdir/test_search_stat.vim - -Patch 8.2.0888 -Problem: Readdirex() returns size -2 for a directory. -Solution: Add missing "else". (Ken Takata, closes #6185) -Files: src/fileio.c, src/testdir/test_functions.vim - -Patch 8.2.0889 -Problem: Using old style comments. -Solution: Use // comments. (Yegappan Lakshmanan, closes #6190) -Files: src/gui_xim.c - -Patch 8.2.0890 -Problem: No color in terminal window when 'termguicolors' is set. -Solution: Clear the underline color. (closes #6186) -Files: src/highlight.c - -Patch 8.2.0891 -Problem: Clang warns for invalid conversion. -Solution: Use zero instead of INVALCOLOR. -Files: src/highlight.c - -Patch 8.2.0892 -Problem: Ubsan warns for undefined behavior. -Solution: Use unsigned instead of signed variable. (Dominique Pellé, - closes #6193) -Files: src/regexp_nfa.c - -Patch 8.2.0893 -Problem: Assert_equalfile() does not take a third argument. -Solution: Implement the third argument. (Gary Johnson) -Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, - src/testdir/test_assert.vim, src/testing.c - -Patch 8.2.0894 -Problem: :mkspell can take very long if the word count is high. -Solution: Use long to avoid negative numbers. Increase the limits by 20% if - the compression did not have effect. -Files: src/spellfile.c - -Patch 8.2.0895 -Problem: :mkspell output does not mention the tree type. -Solution: Back out increasing the limits, it has no effect. Mention the - tree being compressed. Only give a message once per second. -Files: src/spellfile.c - -Patch 8.2.0896 -Problem: Crash when calling searchcount() with a string. -Solution: Check the argument is a dict. (closes #6192) -Files: src/search.c, src/testdir/test_search_stat.vim - -Patch 8.2.0897 -Problem: List of functions in patched version is outdated. -Solution: Update the function lists only. -Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt - -Patch 8.2.0898 -Problem: Missing help for a function goes unnoticed. -Solution: Add a test. (Gary Johnson) -Files: src/testdir/test_function_lists.vim, src/testdir/Make_all.mak - -Patch 8.2.0899 -Problem: Assert_equalfile() does not give a hint about the difference. -Solution: Display the last seen text. -Files: src/testing.c, src/testdir/test_assert.vim - -Patch 8.2.0900 -Problem: Function list test fails on MS-Windows. -Solution: Make sure the fileformat is "unix" -Files: src/testdir/test_function_lists.vim - -Patch 8.2.0901 -Problem: Formatting CJK text isn't optimal. -Solution: Properly break CJK lines. (closes #3875) -Files: runtime/doc/change.txt, src/mbyte.c, src/ops.c, src/option.h, - src/proto/mbyte.pro, src/testdir/Make_all.mak, src/textformat.c, - src/testdir/test_cjk_linebreak.vim - -Patch 8.2.0902 -Problem: Using searchcount() in 'statusline' causes an error. -Solution: Avoid saving/restoring the search pattern recursively. - (closes #6194) -Files: src/search.c, src/testdir/test_search_stat.vim, - src/testdir/dumps/Test_searchstat_4.dump - -Patch 8.2.0903 -Problem: comparing WINVER does not work correctly. -Solution: Use arithmetic expansion. (Ozaki Kiichi, closes #6197) -Files: src/Make_cyg_ming.mak - -Patch 8.2.0904 -Problem: Assuming modifyOtherKeys for rhs of mapping. -Solution: Ignore seenModifyOtherKeys for mapped characters. (closes #6200) -Files: src/getchar.c, src/testdir/test_gui.vim - -Patch 8.2.0905 -Problem: Test coverage could be better. -Solution: Add a couple of tests. (Dominique Pellé, closes #6202) -Files: src/testdir/test_cmdline.vim, src/testdir/test_ga.vim - -Patch 8.2.0906 -Problem: When setting 'termguicolors' SpellBad is no longer red. -Solution: Only use the RGB guisp color for cterm when using the "underline" - or "undercurl" attributes to avoid the background color to be - cleared. Also make t_8u empty when the termresponse indicates a - real xterm. (closes #6207) -Files: src/highlight.c, src/term.c - -Patch 8.2.0907 -Problem: When using :global clipboard isn't set correctly. -Solution: Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian - Brabandt, closes #6203, closes #6198) -Files: src/clipboard.c, src/testdir/test_global.vim - -Patch 8.2.0908 -Problem: Crash when changing the function table while listing it. -Solution: Bail out when the function table changes. (closes #6209) -Files: src/userfunc.c, src/testdir/test_timers.vim - -Patch 8.2.0909 -Problem: Cannot go back to the previous local directory. -Solution: Add "tcd -" and "lcd -". (Yegappan Lakshmanan, closes #4362) -Files: runtime/doc/editing.txt, src/filepath.c, src/ex_docmd.c, - src/structs.h, src/testdir/test_cd.vim, src/window.c - -Patch 8.2.0910 -Problem: Vim is not reproducibly buildable. -Solution: Use the $SOURCE_DATE_EPOCH environment variable in configure. - (James McCoy, closes #513) Give a warning about using it. -Files: src/config.h.in, src/config.mk.in, src/configure.ac, - src/auto/configure, src/version.c, src/Makefile - -Patch 8.2.0911 -Problem: Crash when opening a buffer for the cmdline window fails. (Chris - Barber) -Solution: Check do_ecmd() succeeds. Reset got_int if "q" was used at the - more prompt. (closes #6211) -Files: src/ex_getln.c, src/testdir/test_cmdline.vim, - src/testdir/dumps/Test_cmdwin_interrupted.dump - -Patch 8.2.0912 -Problem: A few test cases for CJK formatting are disabled. -Solution: Fix the tests and enable them. (closes #6212) -Files: src/testdir/test_cjk_linebreak.vim - -Patch 8.2.0913 -Problem: Code for resetting v:register is duplicated. -Solution: Add reset_reg_var(). -Files: src/evalvars.c, src/proto/evalvars.pro, src/main.c, src/normal.c - -Patch 8.2.0914 -Problem: MS-Windows: cannot specify a "modified by" text. -Solution: Add MODIFIED_BY in the MSVC build file. (Chen Lei, closes #1275) -Files: src/Make_mvc.mak - -Patch 8.2.0915 -Problem: Search() cannot skip over matches like searchpair() can. -Solution: Add an optional "skip" argument. (Christian Brabandt, closes #861) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_syntax.vim, - src/structs.h, src/evalvars.c, src/proto/evalvars.pro - -Patch 8.2.0916 -Problem: Mapping with partly modifyOtherKeys code does not work. -Solution: If there is no mapping with a separate modifier include the - modifier in the key and then try mapping again. (closes #6200) -Files: src/getchar.c, src/proto/getchar.pro, src/edit.c, src/term.c, - src/proto/term.pro, src/testdir/test_termcodes.vim - -Patch 8.2.0917 -Problem: Quickfix entries do not support a "note" type. -Solution: Add support for "note". (partly by Yegappan Lakshmanan, - closes #5527, closes #6216) -Files: runtime/doc/quickfix.txt, src/quickfix.c, - src/testdir/test_quickfix.vim - -Patch 8.2.0918 -Problem: Duplicate code for evaluating expression argument. -Solution: Merge the code and make the use more flexible. -Files: src/evalfunc.c, src/eval.c, src/proto/eval.pro, src/evalvars.c, - src/proto/evalvars.pro, src/structs.h - -Patch 8.2.0919 -Problem: Merging modifier for modifyOtherKeys is done twice. -Solution: Remove the merging done in vgetc(). -Files: src/getchar.c, src/ex_getln.c - -Patch 8.2.0920 -Problem: Writing viminfo fails with a circular reference. -Solution: Use copyID to detect the cycle. (closes #6217) -Files: src/testdir/test_viminfo.vim, src/viminfo.c - -Patch 8.2.0921 -Problem: CTRL-W T in cmdline window causes trouble. -Solution: Disallow CTRL-W T in the cmdline window. Add more tests. - (Naruhiko Nishino, closes #6219) -Files: src/testdir/test_cmdline.vim, src/window.c - -Patch 8.2.0922 -Problem: Search test fails. -Solution: Remove failure tests for calls that no longer fail. -Files: src/testdir/test_search.vim - -Patch 8.2.0923 -Problem: Cmdline test is slow. -Solution: Use WaitForAssert(). -Files: src/testdir/test_cmdline.vim - -Patch 8.2.0924 -Problem: Cannot save and restore a register properly. -Solution: Add getreginfo() and make setreg() accept a dictionary. (Andy - Massimino, closes #3370) -Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, - src/proto/register.pro, src/register.c, - src/testdir/test_eval_stuff.vim, src/testdir/test_registers.vim - -Patch 8.2.0925 -Problem: Getcompletion() does not return command line arguments. -Solution: Add the "cmdline" option. (Shougo, closes #1140) -Files: runtime/doc/eval.txt, src/cmdexpand.c, - src/testdir/test_cmdline.vim - -Patch 8.2.0926 -Problem: Cmdline test fails on Appveyor. -Solution: Add CR to the commands. (Naruhiko Nishino, closes #6220) -Files: src/testdir/test_cmdline.vim - -Patch 8.2.0927 -Problem: Some sshconfig and ssdhconfig files are not recognized. -Solution: Add filetype patterns. -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0928 -Problem: Many type casts are used for vim_strnsave(). -Solution: Make the length argument size_t instead of int. (Ken Takata, - closes #5633) Remove some type casts. -Files: src/misc2.c, src/proto/misc2.pro, src/autocmd.c, src/channel.c, - src/cmdexpand.c, src/dict.c, src/diff.c, src/digraph.c, - src/eval.c, src/evalfunc.c, src/highlight.c, src/syntax.c - -Patch 8.2.0929 -Problem: v:register is not cleared after an operator was executed. -Solution: Clear v:register after finishing an operator (Andy Massimino, - closes #5305) -Files: src/normal.c, src/testdir/test_registers.vim - -Patch 8.2.0930 -Problem: Script filetype detection trips over env -S argument. -Solution: Remove "-S" and "--ignore-environment". (closes #5013) - Add tests. -Files: runtime/scripts.vim, src/testdir/test_filetype.vim - -Patch 8.2.0931 -Problem: Some remarks about BeOS remain. -Solution: Remove BeOS remarks from the help and other files. (Emir Sarı, - closes #6221) -Files: READMEdir/README_extra.txt, runtime/doc/options.txt, - runtime/doc/os_beos.txt, runtime/doc/os_vms.txt, - runtime/doc/vi_diff.txt, src/INSTALL - -Patch 8.2.0932 -Problem: Misspelling spelllang. -Solution: Add an "l". (Dominique Pellé) -Files: src/optionstr.c, src/proto/spell.pro, src/spell.c - -Patch 8.2.0933 -Problem: 'quickfixtextfunc' does not get window ID of location list. -Solution: Add "winid" to the dict argument. (Yegappan Lakshmanan, - closes #6222) -Files: runtime/doc/quickfix.txt, src/quickfix.c, - src/testdir/test_quickfix.vim - -Patch 8.2.0934 -Problem: Running lhelpgrep twice in a help window doesn't jump to the help - topic. -Solution: Check whether any window with the location list is present. - (Yegappan Lakshmanan, closes #6215) -Files: src/quickfix.c, src/testdir/test_quickfix.vim - -Patch 8.2.0935 -Problem: Flattening a list with existing code is slow. -Solution: Add flatten(). (Mopp, closes #3676) -Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, - src/list.c, src/proto/list.pro, src/testdir/Make_all.mak, - src/testdir/test_flatten.vim - -Patch 8.2.0936 -Problem: Some terminals misinterpret the code for getting cursor style. -Solution: Send a sequence to the terminal and check the result. (IWAMOTO - Kouichi, closes #2126) Merged with current code. -Files: src/main.c, src/term.c, src/proto/term.pro, - src/testdir/term_util.vim, src/testdir/test_quickfix.vim, - src/testdir/test_terminal.vim, src/testdir/test_startup_utf8.vim, - src/testdir/dumps/Test_balloon_eval_term_01.dump, - src/testdir/dumps/Test_balloon_eval_term_01a.dump, - src/testdir/dumps/Test_balloon_eval_term_02.dump, - src/testdir/dumps/Test_terminal_all_ansi_colors.dump - -Patch 8.2.0937 -Problem: Asan failure in the flatten() test. -Solution: Free the flattened list. -Files: src/list.c - -Patch 8.2.0938 -Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) -Solution: Use utf_fold() when possible. (ref. neovim #12456) -Files: src/macros.h, src/diff.c, src/regexp_nfa.c, - src/testdir/test_regexp_utf8.vim - -Patch 8.2.0939 -Problem: checking for term escape sequences is long and confusing -Solution: Refactor code into separate functions. -Files: src/term.c - -Patch 8.2.0940 (after 8.2.0939) -Problem: Build failure with tiny features. -Solution: Add #ifdef. Add UNUSED. A bit more cleaning up. -Files: src/term.c - -Patch 8.2.0941 -Problem: Detecting terminal properties is unstructured. -Solution: Add a table with terminal properties. Set properties when a - terminal is detected. -Files: src/term.c - -Patch 8.2.0942 -Problem: Expanding to local dir after homedir keeps "~/". -Solution: Adjust modify_fname(). (Christian Brabandt, closes #6205, - closes #5979) -Files: src/filepath.c, src/testdir/test_fnamemodify.vim - -Patch 8.2.0943 -Problem: Displaying ^M or ^J depends on current buffer. -Solution: Pass the displayed buffer to transchar(). (closes #6225) -Files: src/drawline.c, src/charset.c, src/proto/charset.pro, - src/ex_cmds.c, src/gui_beval.c, src/message.c, - src/testdir/test_display.vim, - src/testdir/dumps/Test_display_unprintable_01.dump, - src/testdir/dumps/Test_display_unprintable_02.dump - -Patch 8.2.0944 -Problem: Xxd test leaves file behind. -Solution: Delete the file "XXDfile". (Christian Brabandt, closes #6228) -Files: src/testdir/test_xxd.vim - -Patch 8.2.0945 -Problem: Cannot use "z=" when 'spell' is off. -Solution: Make "z=" work even when 'spell' is off. (Christian Brabandt, - Gary Johnson, closes #6227) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/spell.c, - src/spellsuggest.c, src/testdir/test_spell.vim, src/globals.h - -Patch 8.2.0946 -Problem: Cannot use "q" to cancel a number prompt. -Solution: Recognize "q" instead of ignoring it. -Files: src/misc1.c, src/testdir/test_functions.vim - -Patch 8.2.0947 -Problem: Readdirex() doesn't handle broken link properly. -Solution: Small fixes to readdirex(). (Christian Brabandt, closes #6226, - closes #6213) -Files: src/fileio.c, src/testdir/test_functions.vim - -Patch 8.2.0948 -Problem: Spell test fails. -Solution: Adjust expected text of the prompt. -Files: src/testdir/test_spell.vim - -Patch 8.2.0949 -Problem: Strptime() does not use DST. -Solution: Set the tm_isdst field to -1. (Tomáš Janoušek, closes #6230) -Files: src/time.c, src/testdir/test_functions.vim - -Patch 8.2.0950 -Problem: Tagjump test fails. -Solution: Adjust expected text of the prompt. -Files: src/testdir/test_tagjump.vim - -Patch 8.2.0951 -Problem: Search stat test has leftover from debugging. -Solution: Remove line that writes a file. (Christian Brabandt, closes #6224) -Files: src/testdir/test_search_stat.vim - -Patch 8.2.0952 -Problem: No simple way to interrupt Vim. -Solution: Add the SigUSR1 autocommand, triggered by SIGUSR1. (Jacob Hayes, - closes #1718) -Files: runtime/doc/autocmd.txt, src/vim.h, src/autocmd.c, src/getchar.c, - src/globals.h, src/os_unix.c, src/testdir/test_autocmd.vim - -Patch 8.2.0953 -Problem: Spell checking doesn't work for CamelCased words. -Solution: Add the "camel" value in the new option 'spelloptions'. - (closes #1235) -Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/optiondefs.h, - src/option.h, src/option.c, src/buffer.c, src/optionstr.c, - src/testdir/gen_opt_test.vim, src/testdir/test_spell.vim - -Patch 8.2.0954 -Problem: Not all desktop files are recognized. -Solution: Add the *.directory pattern. (Eisuke Kawashima, closes #3317) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0955 (after 8.2.0953) -Problem: Build fails. -Solution: Add missing struct change. -Files: src/structs.h - -Patch 8.2.0956 (after 8.2.0953) -Problem: Spell test fails. -Solution: Add missing change the spell checking. -Files: src/spell.c - -Patch 8.2.0957 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Initialize one variable. -Files: src/spell.c - -Patch 8.2.0958 -Problem: Not sufficient testing for buffer writing. -Solution: Add a few tests. (Yegappan Lakshmanan, closes #6238) -Files: src/testdir/test_backup.vim, src/testdir/test_writefile.vim - -Patch 8.2.0959 -Problem: Using 'quickfixtextfunc' is a bit slow. -Solution: Process a list of entries. (Yegappan Lakshmanan, closes #6234) -Files: runtime/doc/quickfix.txt, src/quickfix.c, - src/testdir/test_quickfix.vim - -Patch 8.2.0960 -Problem: Cannot use :import in legacy Vim script. -Solution: Support :import in any Vim script. -Files: src/vim9script.c, src/evalvars.c, src/userfunc.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.0961 -Problem: MS-Windows: no completion for locales. -Solution: Use the directories in $VIMRUNTIME/lang to complete locales. - (Christian Brabandt, closes 36248) -Files: src/cmdexpand.c, src/ex_cmds2.c, src/testdir/test_cmdline.vim - -Patch 8.2.0962 -Problem: Terminal test sometimes hangs on Travis. -Solution: Do show output for this test temporarily. -Files: src/testdir/Makefile - -Patch 8.2.0963 -Problem: Number increment/decrement does not work with 'virtualedit'. -Solution: Handle coladd changing. (Christian Brabandt, closes #6240, - closes #923) -Files: runtime/doc/options.txt, runtime/doc/various.txt, src/ops.c, - src/testdir/test_increment.vim - -Patch 8.2.0964 -Problem: TextYankPost does not provide info about Visual selection. -Solution: Add the 'visual' key in v:event. (closes #6249) -Files: runtime/doc/autocmd.txt, src/register.c, - src/testdir/test_autocmd.vim - -Patch 8.2.0965 -Problem: Has_funcundefined() is not used. -Solution: Delete the function. (Dominique Pellé, closes #6242) -Files: src/autocmd.c, src/proto/autocmd.pro - -Patch 8.2.0966 -Problem: 'shortmess' flag "n" not used in two places. -Solution: Make use of the "n" flag consistent. (Nick Jensen, closes #6245, - closes #6244) -Files: src/bufwrite.c, src/proto/bufwrite.pro, src/buffer.c, - src/fileio.c, src/testdir/dumps/Test_popup_textprop_corn_5.dump, - src/testdir/dumps/Test_start_with_tabs.dump - -Patch 8.2.0967 -Problem: Unnecessary type casts for vim_strnsave(). -Solution: Remove the type casts. -Files: src/evalvars.c, src/ex_cmds.c, src/ex_eval.c, src/fileio.c, - src/filepath.c, src/findfile.c, src/highlight.c, src/if_ruby.c, - src/insexpand.c, src/json.c, src/mark.c, src/memline.c, - src/menu.c, src/misc1.c, src/ops.c, src/os_win32.c, src/regexp.c, - src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/search.c, - src/sign.c, src/syntax.c, src/term.c, src/terminal.c, src/undo.c, - src/usercmd.c, src/userfunc.c, src/vim9compile.c, src/if_perl.xs - -Patch 8.2.0968 -Problem: No proper testing of the 'cpoptions' flags. -Solution: Add tests. (Yegappan Lakshmanan, closes #6251) -Files: src/testdir/Make_all.mak, src/testdir/test_cpoptions.vim, - src/testdir/test_edit.vim, src/testdir/test_normal.vim - -Patch 8.2.0969 -Problem: Assert_equal() output for dicts is hard to figure out. -Solution: Only show the different items. -Files: src/testing.c, src/testdir/test_assert.vim - -Patch 8.2.0970 -Problem: Terminal properties are not available in Vim script. -Solution: Add the terminalprops() function. -Files: src/term.c, src/proto/term.pro, src/evalfunc.c, src/main.c, - src/testing.c, src/globals.h, src/testdir/test_termcodes.vim, - runtime/doc/usr_41.txt, runtime/doc/eval.txt, - runtime/doc/testing.txt - -Patch 8.2.0971 -Problem: Build with tiny features fails. -Solution: Add #ifdef. -Files: src/term.c - -Patch 8.2.0972 -Problem: Vim9 script variable declarations need a type. -Solution: Make "let var: type" declare a script-local variable. -Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, - src/globals.h, src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0973 -Problem: Vim9: type is not checked when assigning to a script variable. -Solution: Check the type. -Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, - src/vim9compile.c, src/proto/vim9compile.pro, - src/testdir/test_vim9_script.vim - -Patch 8.2.0974 -Problem: Vim9: memory leak when script var has wrong type. -Solution: Free the variable name. -Files: src/vim9script.vim - -Patch 8.2.0975 -Problem: Vim9: script variable does not accept optional s: prefix. -Solution: Adjust the accepted syntax. -Files: src/vim9script.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0976 -Problem: Some 'cpoptions' not tested. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6253) -Files: src/testdir/test_cd.vim, src/testdir/test_charsearch.vim, - src/testdir/test_cpoptions.vim, src/testdir/test_normal.vim - -Patch 8.2.0977 -Problem: t_8u is made empty for the wrong terminals. (Dominique Pelle) -Solution: Invert the check for TPR_YES. (closes #6254) -Files: src/term.c, src/testdir/test_termcodes.vim - -Patch 8.2.0978 -Problem: Leaking memory in termcodes test. -Solution: Set t_8u with set_option_value(). -Files: src/term.c - -Patch 8.2.0979 -Problem: A couple of screendump tests fail. -Solution: Do not redraw when clearing t_8u. -Files: src/term.c - -Patch 8.2.0980 -Problem: Raku file extension not recognized. (Steven Penny) -Solution: Recognize .raku and .rakumod. (closes #6255) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0981 -Problem: Vim9: cannot compile "[var, var] = list". -Solution: Implement list assignment. -Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c, - src/proto/evalvars.pro src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0982 -Problem: Insufficient testing for reading/writing files. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6257) - Add "ui_delay" to test_override() and use it for the CTRL-O test. -Files: src/testing.c, src/globals.h, src/ui.c, runtime/doc/testing.txt, - src/testdir/test_autocmd.vim, src/testdir/test_edit.vim, - src/testdir/test_filechanged.vim, src/testdir/test_writefile.vim - -Patch 8.2.0983 -Problem: SConstruct file type not recognized. -Solution: Use python for SConstruct files. (Roland Hieber) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.0984 -Problem: Not using previous window when closing a shell popup window. -Solution: Use "prevwin" if it was set. (closes #6267) -Files: src/popupwin.c, src/testdir/test_popupwin.vim - -Patch 8.2.0985 -Problem: Simplify() does not remove slashes from "///path". -Solution: Reduce > 2 slashes to one. (closes #6263) -Files: src/findfile.c, src/testdir/test_functions.vim - -Patch 8.2.0986 (after 8.2.0985) -Problem: MS-Windows: functions test fails. -Solution: Only simplify ///path on Unix. -Files: src/testdir/test_functions.vim - -Patch 8.2.0987 -Problem: Vim9: cannot assign to [var; var]. -Solution: Assign rest of items to a list. -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/list.c, - src/proto/list.pro, src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.0988 -Problem: Getting directory contents is always case sorted. -Solution: Add sort options and v:collate. (Christian Brabandt, closes #6229) -Files: runtime/doc/eval.txt, runtime/doc/mlang.txt, src/auto/configure, - src/cmdexpand.c, src/config.h.in, src/configure.ac, - src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c, - src/filepath.c, src/globals.h, src/proto/fileio.pro, - src/testdir/test_cmdline.vim, src/testdir/test_functions.vim - src/vim.h - -Patch 8.2.0989 -Problem: Crash after resizing a terminal window. (August Masquelier) -Solution: Add check for valid row in libvterm. (closes #6273) -Files: src/libvterm/src/state.c, src/libvterm/src/screen.c - -Patch 8.2.0990 (after 8.2.0988) -Problem: Using duplicate error number. -Solution: Use an unused error number. Add a test for it. -Files: src/globals.h, src/testdir/test_functions.vim - -Patch 8.2.0991 -Problem: Cannot get window type for autocmd and preview window. -Solution: Add types to win_gettype(). (Yegappan Lakshmanan, closes #6277) -Files: runtime/doc/eval.txt, src/evalwindow.c, - src/testdir/test_autocmd.vim, src/testdir/test_preview.vim - -Patch 8.2.0992 -Problem: Vim9: crash when using :import in the Vim command. -Solution: Give an error when using :import outside of a script. - (closes #6271) -Files: src/vim9script.c, src/testdir/test_vim9_script.vim, - src/testdir/term_util.vim - -Patch 8.2.0993 -Problem: Vim9 script test fails with normal features. -Solution: Use :func instead of :def for now. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0994 -Problem: Vim9: missing function causes compilation error. -Solution: Call test function indirectly. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.0995 -Problem: Insufficient testing for the readdir() sort option. -Solution: Add a few more tests. (Christian Brabandt, closes #6278) -Files: src/testdir/test_functions.vim - -Patch 8.2.0996 -Problem: Using "aucmdwin" in win_gettype() is not ideal. -Solution: Rename to "autocmd". -Files: runtime/doc/eval.txt, src/evalwindow.c, - src/testdir/test_autocmd.vim - -Patch 8.2.0997 -Problem: Cannot execute a register containing line continuation. -Solution: Concatenate lines where needed. (Yegappan Lakshmanan, - closes #6272) -Files: runtime/doc/repeat.txt, src/register.c, - src/testdir/test_registers.vim - -Patch 8.2.0998 -Problem: Not all tag code is tested. -Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6284) -Files: src/testdir/test_tagjump.vim - -Patch 8.2.0999 -Problem: Moving to next sentence gets stuck on quote. -Solution: When moving to the next sentence doesn't result in moving, advance - a character and try again. (closes #6291) -Files: src/textobject.c, src/testdir/test_textobjects.vim - -Patch 8.2.1000 -Problem: Get error when leaving Ex mode with :visual and a CmdLineEnter - autocommand was used. -Solution: Reset ex_pressedreturn. (closes #6293) -Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim - -Patch 8.2.1001 -Problem: Vim9: crash with nested "if" and assignment. -Solution: Skip more of the assignment. Do not set ctx_skip when code is - reachable. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1002 -Problem: Test may fail when run directly. -Solution: Check if g:run_nr exists. (Christian Brabandt, closes #6285) -Files: src/testdir/term_util.vim - -Patch 8.2.1003 -Problem: Vim9: return type of sort() is too generic. -Solution: Get type from the first argument. (closes #6292) -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1004 -Problem: Line numbers below filler lines not always updated. -Solution: Don't break out of the win_line() loop too early. (Christian - Brabandt, closes #6294, closes #6138) -Files: src/drawline.c, src/testdir/dumps/Test_diff_rnu_01.dump, - src/testdir/dumps/Test_diff_rnu_02.dump, - src/testdir/dumps/Test_diff_rnu_03.dump, - src/testdir/test_diffmode.vim - -Patch 8.2.1005 -Problem: Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing. -Solution: Use an enum value. -Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1006 -Problem: Vim9: require unnecessary return statement. -Solution: Improve the use of the had_return flag. (closes #6270) -Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_func.vim - -Patch 8.2.1007 -Problem: Completion doesn't work after ":r ++arg !". -Solution: Skip over "++arg". (Christian Brabandt, closes #6275, - closes #6258) -Files: src/cmdexpand.c, src/testdir/test_cmdline.vim - -Patch 8.2.1008 -Problem: Vim9: no test for disassembling newly added instructions. -Solution: Add a function and check disassembly. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1009 -Problem: Vim9: some failures not checked for. -Solution: Add test cases. Remove unused code. -Files: src/testdir/test_vim9_script.vim, src/vim9execute.c - -Patch 8.2.1010 -Problem: Build failure in libvterm with debug enabled. (John Little) -Solution: Use "->" instead of ".". -Files: src/libvterm/src/state.c - -Patch 8.2.1011 -Problem: Vim9: some code not tested. -Solution: Add a few more test cases. Reorder checks for clearer error. - Remove unreachable code. -Files: src/evalvars.c, src/vim9script.c, src/vim9execute.c, - src/proto/vim9script.pro, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1012 -Problem: Vim9: cannot declare single character script variables. -Solution: Don't see "b:", "s:", etc. as namespace. Fix item size of - sn_var_vals. -Files: src/vim9script.c, src/scriptfile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1013 -Problem: Channel tests can be a bit flaky. -Solution: Set the g:test_is_flaky flag in SetUp(). -Files: src/testdir/test_channel.vim - -Patch 8.2.1014 -Problem: Using "name" for a string result is confusing. -Solution: Rename to "end". -Files: src/typval.c - -Patch 8.2.1015 -Problem: Popup filter gets key with modifier prepended when using - modifyOtherKeys. -Solution: Remove the shift modifier when it is included in the key, also - when the Alt or Meta modifier is used. -Files: src/term.c, src/misc2.c, src/testdir/test_popupwin.vim - -Patch 8.2.1016 -Problem: Vim9: test fails when channel feature is missing. -Solution: Process an :if command when skipping -Files: src/vim9compile.c - -Patch 8.2.1017 -Problem: Appveyor output doesn't show MinGW console features. -Solution: List the features of the console build. -Files: ci/appveyor.bat - -Patch 8.2.1018 -Problem: Typo in enum value. (James McCoy) -Solution: Fix the typo. -Files: src/vim9compile.c - -Patch 8.2.1019 -Problem: Mapping <M-S-a> does not work in the GUI. -Solution: Move the logic to remove the shift modifier to - may_remove_shift_modifier() and also use it in the GUI. -Files: src/gui_gtk_x11.c, src/misc2.c, src/proto/misc2.pro, src/term.c - -Patch 8.2.1020 -Problem: Popupwin test fails in the GUI. -Solution: Send GUI byte sequence for <C-S-a>. -Files: src/testdir/test_popupwin.vim - -Patch 8.2.1021 -Problem: Ruby interface not tested enough. -Solution: Add a couple more tests. (Dominique Pellé, closes #6301) -Files: src/testdir/test_ruby.vim - -Patch 8.2.1022 -Problem: Various parts of code not covered by tests. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6300) -Files: src/testdir/test_blob.vim, src/testdir/test_cpoptions.vim, - src/testdir/test_digraph.vim, src/testdir/test_edit.vim, - src/testdir/test_iminsert.vim, src/testdir/test_paste.vim, - src/testdir/test_prompt_buffer.vim, - src/testdir/test_selectmode.vim, src/testdir/test_tabpage.vim, - src/testdir/test_tagjump.vim, src/testdir/test_textformat.vim, - src/testdir/test_viminfo.vim, src/testdir/test_virtualedit.vim, - src/testdir/test_visual.vim - -Patch 8.2.1023 -Problem: Vim9: redefining a function uses a new index every time. -Solution: When redefining a function clear the contents and re-use the - index. -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, - src/structs.h, src/eval.c, src/evalvars.c, src/vim9execute.c - -Patch 8.2.1024 -Problem: Vim9: no error for using "let g:var = val". -Solution: Add an error. -Files: src/evalvars.c, src/globals.h, src/structs.h, src/vim9compile.c, - src/scriptfile.c, src/userfunc.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_func.vim - -Patch 8.2.1025 -Problem: Tabpage menu and tabline not sufficiently tested. -Solution: Add tests. (Yegappan Lakshmanan, closes #6307) -Files: src/testdir/test_digraph.vim, src/testdir/test_tabpage.vim - -Patch 8.2.1026 -Problem: Vim9: cannot break the line after "->". -Solution: Check for a continuation line after "->", "[" and ".". Ignore - trailing white space. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1027 -Problem: GUI: multibyte characters do not work in a terminal. -Solution: Do not assume a key is one byte. (closes #6304) -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 8.2.1028 -Problem: Vim9: no error for declaring buffer, window, etc. variable. -Solution: Give an error. Unify the error messages. -Files: src/evalvars.c, src/globals.h, src/vim9compile.c, - src/proto/vim9compile.pro, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.1029 -Problem: Vim9: cannot chain function calls with -> at line start. -Solution: Peek ahead for a following line starting with "->". (closes #6306) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1030 -Problem: Reducing size of a terminal window may cause a crash. -Solution: Make sure the row and column don't become negative. (closes #6273) -Files: src/libvterm/src/state.c, src/libvterm/src/screen.c - -Patch 8.2.1031 -Problem: Build failure with Perl5.32. -Solution: Define a few more functions. (Felix Yan, closes #6310) -Files: src/if_perl.xs - -Patch 8.2.1032 -Problem: Error message for declaring a variable cannot be translated. -Solution: Enclose in _(). Make environment variable a separate message. -Files: src/globals.h, src/vim9compile.c - -Patch 8.2.1033 -Problem: Not easy to read the test time in the test output. -Solution: Align the times. Make slow tests bold. -Files: src/testdir/runtest.vim - -Patch 8.2.1034 -Problem: Compiler warning for uninitialized variables. -Solution: Add initializations. (John Marriott) -Files: src/vim9compile.c - -Patch 8.2.1035 -Problem: setreg() does not always clear the register. -Solution: Clear the register if the dict argument is empty. (Andy Massimino, - closes #3370) -Files: src/evalfunc.c, src/testdir/test_registers.vim - -Patch 8.2.1036 -Problem: Popupwin test fails sometimes. -Solution: Use WaitForAssert() instead of a sleep. -Files: src/testdir/test_popupwin.vim - -Patch 8.2.1037 -Problem: Vim9: crash when using line continuation inside :def. -Solution: Check for no more lines available. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1038 -Problem: Popupwin test fails. -Solution: Fix WaitForAssert() argument. -Files: src/testdir/test_popupwin.vim - -Patch 8.2.1039 -Problem: Cannot put NUL byte on clipboard. -Solution: Use the text length. (Christian Brabandt, closes #6312, - closes #6149) -Files: src/winclip.c, src/testdir/test_registers.vim - -Patch 8.2.1040 -Problem: Not enough testing for movement commands. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6313) -Files: src/testdir/test_cursor_func.vim, src/testdir/test_functions.vim, - src/testdir/test_gf.vim, src/testdir/test_normal.vim, - src/testdir/test_options.vim, src/testdir/test_quickfix.vim - -Patch 8.2.1041 -Problem: Test summary is missing executed count. -Solution: Adjust pattern used for counting. -Files: src/testdir/summarize.vim - -Patch 8.2.1042 -Problem: Vim9: cannot put an operator on the next line. -Solution: Require a colon before a range to see if that causes problems. -Files: runtime/doc/vim9.txt, src/vim9compile.c, src/ex_docmd.c, - src/globals.h, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1043 -Problem: %a item in 'statusline' not tested. -Solution: Add a test. (Dominique Pellé, closes #6318) -Files: src/testdir/test_statusline.vim - -Patch 8.2.1044 -Problem: Not all systemd file types are recognized. -Solution: Match several more files. (Guido Cella, closes #6319) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.1045 -Problem: Vim9: line break before operator does not work. -Solution: Peek the next line for an operator. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1046 -Problem: Insufficient tests for src/buffer.c. -Solution: Add more tests. Move comments related tests to a separate file. - (Yegappan Lakshmanan, closes #6325) -Files: src/testdir/Make_all.mak, src/testdir/test_buffer.vim, - src/testdir/test_cmdline.vim, src/testdir/test_comments.vim, - src/testdir/test_normal.vim, src/testdir/test_textformat.vim - -Patch 8.2.1047 -Problem: Vim9: script cannot use line continuation like in a :def function. -Solution: Pass the getline function pointer to the eval() functions. Use it - for addition and multiplication operators. -Files: src/vim.h, src/structs.h, src/globals.h, src/ex_eval.c, - src/eval.c, src/proto/eval.pro, src/dict.c, src/evalfunc.c, - src/evalvars.c, src/list.c, src/userfunc.c, src/scriptfile.c, - src/proto/scriptfile.pro, src/testdir/test_vim9_expr.vim - -Patch 8.2.1048 (after 8.2.1047) -Problem: Build failure without the eval feature. -Solution: Add dummy typedef. -Files: src/structs.h - -Patch 8.2.1049 (after 8.2.1047) -Problem: Vim9: leaking memory when using continuation line. -Solution: Keep a pointer to the continuation line in evalarg_T. Centralize - checking for a next command. -Files: src/structs.h, src/eval.c, src/proto/eval.pro, src/beval.c, - src/buffer.c, src/clientserver.c, src/evalvars.c, src/ex_docmd.c, - src/ex_eval.c, src/filepath.c, src/findfile.c, src/fold.c, - src/globals.h, src/if_ole.cpp, src/if_perl.xs, src/if_tcl.c, - src/map.c, src/quickfix.c, src/regexp.c, src/register.c, - src/screen.c, src/userfunc.c - -Patch 8.2.1050 (after 8.2.1049) -Problem: Missing change in struct. -Solution: Add missing change. -Files: src/ex_cmds.h - -Patch 8.2.1051 -Problem: Crash when changing a list while using reduce() on it. -Solution: Lock the list. (closes #6330) -Files: src/list.c, src/testdir/test_listdict.vim - -Patch 8.2.1052 -Problem: Build failure with older compilers. -Solution: Move declaration to start of block. -Files: src/eval.c - -Patch 8.2.1053 -Problem: Insufficient testing for 'statusline' and 'tabline'. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6333) -Files: src/testdir/test_autocmd.vim, src/testdir/test_statusline.vim, - src/testdir/test_tabline.vim - -Patch 8.2.1054 -Problem: Not so easy to pass a lua function to Vim. -Solution: Convert a Lua function and closure to a Vim funcref. (Prabir - Shrestha, closes #6246) -Files: runtime/doc/if_lua.txt, src/if_lua.c, src/proto/userfunc.pro, - src/structs.h, src/testdir/test_lua.vim, src/userfunc.c - -Patch 8.2.1055 -Problem: No filetype set for pacman config files. -Solution: Recognize pacman.conf and *.hook. (Guido Cella, closes #6335) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.1056 -Problem: Wrong display when mixing match conceal and syntax conceal. -Solution: Adjust how conceal flags are used. (closes #6327, closes #6303) -Files: src/drawline.c, src/highlight.c, - src/testdir/test_matchadd_conceal.vim - -Patch 8.2.1057 (after 8.2.1054) -Problem: Cannot build with dynamic Lua. -Solution: Add dll variables. -Files: src/if_lua.c - -Patch 8.2.1058 -Problem: Multiline conceal causes display errors. -Solution: Do not allow conceal cross over EOL. (closes #6326, closes #4854, - closes #6302) -Files: src/drawline.c, src/testdir/test_conceal.vim, - src/testdir/test_diffmode.vim - -Patch 8.2.1059 -Problem: Crash when using :tabonly in an autocommand. (Yegappan Lakshmanan) -Solution: Do not allow the autocommand window to be closed. -Files: src/ex_docmd.c, src/window.c, src/globals.h, - src/testdir/test_autocmd.vim - -Patch 8.2.1060 -Problem: Not all elinks files are recognized. -Solution: Just check for "elinks.conf". (Guido Cella, closes #6337) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.1061 -Problem: Insufficient testing for src/window.c. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6345) -Files: src/testdir/test_excmd.vim, src/testdir/test_gf.vim, - src/testdir/test_options.vim, src/testdir/test_popupwin.vim, - src/testdir/test_quickfix.vim, src/testdir/test_tabpage.vim, - src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim, - src/window.c - -Patch 8.2.1062 -Problem: Vim9: no line break allowed inside "cond ? val1 : val2". -Solution: Check for operator after line break. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1063 -Problem: Vim9: no line break allowed before || or &&. -Solution: Check for operator after line break. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1064 -Problem: Vim9: no line break allowed before comparators. -Solution: Check for comparator after line break. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1065 -Problem: Vim9: no line break allowed inside a list. -Solution: Handle line break inside a list in Vim9 script. -Files: src/eval.c, src/proto/eval.pro, src/list.c, src/proto/list.pro, - src/vim9compile.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_arglist.vim - -Patch 8.2.1066 -Problem: Lua arrays are zero based. -Solution: Make Lua arrays one based. (Prabir Shrestha, closes #6347) - Note: this is not backwards compatible. -Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim - -Patch 8.2.1067 -Problem: Expression "!expr->func()" does not work. -Solution: Apply plus and minus earlier. (closes #6348) -Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, - src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim - -Patch 8.2.1068 -Problem: Vim9: no line break allowed inside a dict. -Solution: Handle line break inside a dict in Vim9 script. -Files: src/eval.c, src/dict.c, src/proto/dict.pro, - src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1069 -Problem: Vim9: fail to check for white space in list. -Solution: Add check for white space. -Files: src/list.c - -Patch 8.2.1070 -Problem: Vim9: leaking memory when lacking white space in dict. -Solution: Clear the typval. -Files: src/dict.c - -Patch 8.2.1071 -Problem: Vim9: no line break allowed inside a lambda. -Solution: Handle line break inside a lambda in Vim9 script. -Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, - src/proto/userfunc.pro, src/popupwin.c, src/vim9compile.c, - src/ex_eval.c, src/globals.h, src/structs.h, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1072 -Problem: Missing libvterm test. -Solution: Sync with libvterm revision 768. -Files: src/libvterm/src/state.c, src/libvterm/t/63screen_resize.test - -Patch 8.2.1073 -Problem: Vim9: no line break allowed in () expression. -Solution: Skip a line break. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1074 -Problem: Vim9: no line break allowed after some operators. -Solution: Skip a line break after the operator. Add - eval_may_get_next_line() to simplify checking for a line break. -Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/list.c, - src/userfunc.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1075 -Problem: Vim9: no line break allowed in :echo expression. -Solution: Skip linebreak. -Files: src/eval.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1076 -Problem: Vim9: no line break allowed in :if expression. -Solution: Skip linebreak. -Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, - src/testdir/test_vim9_cmd.vim - -Patch 8.2.1077 -Problem: No enough test coverage for highlighting. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6351) -Files: runtime/doc/syntax.txt, src/testdir/test_cmdline.vim, - src/testdir/test_highlight.vim, src/testdir/test_match.vim - -Patch 8.2.1078 -Problem: Highlight and match functionality together in one file. -Solution: Move match functionality to a separate file. (Yegappan Lakshmanan, - closes #6352) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/highlight.c, src/match.c, src/proto.h, - src/proto/highlight.pro, src/proto/match.pro - -Patch 8.2.1079 -Problem: Vim9: no line break allowed in a while loop. -Solution: Update stored loop lines when finding line breaks. -Files: src/structs.h, src/globals.h, src/eval.c, src/evalvars.c, - src/ex_docmd.c, src/proto/ex_docmd.pro, - src/testdir/test_vim9_cmd.vim - -Patch 8.2.1080 -Problem: Vim9: no line break allowed in a for loop. -Solution: Skip line breaks in for command. -Files: src/eval.c, src/ex_eval.c, src/proto/eval.pro, src/userfunc.c, - src/structs.h, src/globals.h, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1081 -Problem: Lua: cannot use table.insert() and table.remove(). -Solution: Add the list functions. (Prabir Shrestha, closes #6353) -Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim - -Patch 8.2.1082 -Problem: Coverity complains about ignoring dict_add() return value. -Solution: Add (void). -Files: src/evalfunc.c - -Patch 8.2.1083 -Problem: Crash when using reduce() on a NULL list. -Solution: Only access the list when not NULL. -Files: src/list.c, src/testdir/test_listdict.vim - -Patch 8.2.1084 -Problem: Lua: registering function has useless code. -Solution: Remove clearing grow arrays. -Files: src/userfunc.c - -Patch 8.2.1085 -Problem: Coverity complains about ignoring dict_add() return value. -Solution: Add (void). -Files: src/register.c - -Patch 8.2.1086 -Problem: Possibly using freed memory when text properties used when - changing indent of a line. -Solution: Compute the offset before calling ml_replace(). -Files: src/indent.c - -Patch 8.2.1087 -Problem: Possible memory leak when file expansion fails. -Solution: Clear the grow array when returning FAIL. Use an error message - instead of an empty string. -Files: src/filepath.c - -Patch 8.2.1088 -Problem: A very long translation might cause a buffer overflow. -Solution: Truncate the message if needed. -Files: src/fileio.c - -Patch 8.2.1089 -Problem: Coverity warns for pointer computation. -Solution: Avoid computing a pointer to invalid memory. -Files: src/spellfile.c - -Patch 8.2.1090 -Problem: May use NULL pointer when skipping over name. -Solution: Always set ll_name_end. -Files: src/eval.c - -Patch 8.2.1091 -Problem: No check if opening a pty works. -Solution: Check for invalid file descriptor. -Files: src/os_unix.c - -Patch 8.2.1092 -Problem: Not checking if saving for undo succeeds. -Solution: Bail out if u_savesub() returns FAIL. -Files: src/textprop.c - -Patch 8.2.1093 -Problem: Python: double free when adding item to dict fails. -Solution: Remove vim_free() call. -Files: src/if_py_both.h - -Patch 8.2.1094 -Problem: Dead code in libvterm. -Solution: Remove condition that is always true. -Files: src/libvterm/src/pen.c - -Patch 8.2.1095 -Problem: May use pointer after freeing it when text properties are used. -Solution: Update redo buffer before calling ml_replace(). -Files: src/spellsuggest.c - -Patch 8.2.1096 -Problem: Vim9: return type of getqflist() is wrong. -Solution: Let the return type depend on the arguments. Also for - getloclist(). (closes #6357) -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1097 -Problem: Highlight code not sufficiently tested. -Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6359) -Files: src/testdir/test_filter_cmd.vim, src/testdir/test_highlight.vim - -Patch 8.2.1098 -Problem: Vim9: cannot use line break in :throw argument. -Solution: Check for line break. -Files: src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1099 -Problem: Vim9: cannot use line break in :cexpr argument. -Solution: Check for line break. -Files: src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1100 -Problem: Vim9: cannot use line break in :execute, :echomsg and :echoerr - argument. -Solution: Check for line break. -Files: src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1101 -Problem: No error when using wrong arguments for setqflist() or - setloclist(). -Solution: Check for the error. -Files: src/quickfix.c, src/testdir/test_quickfix.vim - -Patch 8.2.1102 -Problem: Coverity gets confused by an unnecessary NULL check. -Solution: Remove the check for NULL. -Files: src/quickfix.c - -Patch 8.2.1103 -Problem: Coverity reports an unnecessary NULL check. -Solution: Remove the check for NULL. -Files: src/eval.c - -Patch 8.2.1104 -Problem: Coverity warns for possible NULL pointer use. -Solution: Check "pbyts" is not NULL. -Files: src/spellsuggest.c - -Patch 8.2.1105 -Problem: Insufficient test coverage for Lua. -Solution: Add tests. (Yegappan Lakshmanan, closes #6368) Fix uncovered - memory leak. Avoid unnecessary copy/free. -Files: src/if_lua.c, src/testdir/test_lua.vim - -Patch 8.2.1106 -Problem: Crash when trying to use s: variable in typed command. -Solution: Don't use the script index when not set. (Ken Takata, - closes #6366) -Files: src/vim9compile.c, src/testdir/test_vimscript.vim - -Patch 8.2.1107 -Problem: 'imactivatefunc' and 'imstatusfunc' are not used in the GUI. -Solution: Adjust the #ifdefs. (closes #6367) -Files: runtime/doc/options.txt, src/gui_xim.c, - src/testdir/test_iminsert.vim - -Patch 8.2.1108 -Problem: Mouse left-right scroll is not supported in terminal window. -Solution: Implement mouse codes 6 and 7. (Trygve Aaberge, closes #6363) -Files: src/libvterm/src/mouse.c, src/mouse.c, src/terminal.c, - src/testdir/mouse.vim, src/testdir/test_termcodes.vim - -Patch 8.2.1109 (after 8.2.1106) -Problem: Still crashing when using s:variable. -Solution: Remove assignment. (Ken Takata) -Files: src/vim9compile.c - -Patch 8.2.1110 -Problem: Vim9: line continuation does not work in function arguments. -Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string - as comment. -Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c, src/ex_eval.c, - src/list.c, src/dict.c, src/proto/eval.pro, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim - -Patch 8.2.1111 -Problem: Inconsistent naming of get_list_tv() and eval_dict(). -Solution: Rename get_list_tv() to eval_list(). Similarly for eval_number(), - eval_string(), eval_lit_string() and a few others. -Files: src/eval.c, src/list.c, src/proto/list.pro, src/vim9compile.c, - src/typval.c, src/proto/typval.pro, src/vim9script.c, - src/evalfunc.c, src/evalvars.c, src/proto/evalvars.pro, - src/vim9execute.c - -Patch 8.2.1112 -Problem: Vim9: no line continuation allowed in method call. -Solution: Handle line continuation in expression before method call. -Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim, - src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1113 -Problem: No test for verbose output of :call. -Solution: Add a test. -Files: src/testdir/test_user_func.vim - -Patch 8.2.1114 -Problem: Terminal test sometimes times out. -Solution: Split the test in two parts. -Files: src/testdir/Makefile, src/testdir/Make_all.mak, - src/testdir/term_util.vim, src/testdir/test_terminal.vim, - src/testdir/test_terminal2.vim - -Patch 8.2.1115 -Problem: Iminsert test fails when compiled with VIMDLL. -Solution: Change condition. (Ken Takata, closes #6376) -Files: src/testdir/test_iminsert.vim - -Patch 8.2.1116 -Problem: Vim9: parsing command checks for list twice. -Solution: Adjust how a command is parsed. -Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1117 -Problem: Coverity warns for using uninitialized field. -Solution: Initialize v_lock. -Files: src/if_lua.c - -Patch 8.2.1118 -Problem: Condition can never be true, dead code. -Solution: Remove the dead code. -Files: src/move.c - -Patch 8.2.1119 -Problem: Configure fails with Xcode 12 beta. -Solution: use "return" instead of "exit()". (Nico Weber, closes #6381) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.1120 -Problem: Python code not tested properly. -Solution: Add more tests and convert old-style test into new-style test. - (Yegappan Lakshmanan, closes #6370) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test_python2.vim - -Patch 8.2.1121 -Problem: Command completion not working after ++arg. -Solution: Move skipping up. (Christian Brabandt, closes #6382) -Files: src/cmdexpand.c, src/testdir/test_cmdline.vim - -Patch 8.2.1122 -Problem: Vim9: line continuation in dict member not recognized. -Solution: Check for line continuation. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1123 -Problem: Python 3 test is old style. -Solution: Turn into new style test. (Yegappan Lakshmanan, closes #6385) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test87.in, src/testdir/test87.ok, - src/testdir/test_python2.vim, src/testdir/test_python3.vim - -Patch 8.2.1124 -Problem: Vim9: no line break allowed in :import command. -Solution: Skip over line breaks. -Files: src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1125 -Problem: Vim9: double quote can be a string or a comment. -Solution: Only support comments starting with # to avoid confusion. -Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/list.c, - src/vim9script.c - -Patch 8.2.1126 -Problem: Vim9: using :copen causes an error. -Solution: Add flag LET_NO_COMMAND in set_var(). -Files: src/evalvars.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1127 -Problem: Vim9: getting a dict member may not work. -Solution: Clear the dict only after copying the item. (closes #6390) -Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1128 -Problem: The write message mentions characters, but it's actually bytes. -Solution: Change "C" to "B" and "characters" to "bytes". -Files: runtime/doc/options.txt, src/fileio.c, - src/testdir/test_cscope.vim, src/testdir/test_netbeans.vim, - src/testdir/dumps/Test_diff_syntax_1.dump, - src/testdir/dumps/Test_long_file_name_1.dump, - src/testdir/dumps/Test_display_unprintable_01.dump, - src/testdir/dumps/Test_tselect_1.dump - -Patch 8.2.1129 -Problem: Vim9: bar not recognized after not compiled command. -Solution: Check for bar for commands where this is possible. (closes #6391) -Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1130 -Problem: Vim9: bar not recognized after function call -Solution: Skip whitespace. (closes #6391) -Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1131 -Problem: Vim9: error message for returning a value in a function that does - not return anything is not clear. -Solution: Add a specific message. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1132 -Problem: Vim9: return type of repeat() is not specific enough. -Solution: Return the type of the first argument. (closes #6395) -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1133 -Problem: Vim9: return type of add() is not specific enough. -Solution: Return the type of the first argument. (closes #6395) -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1134 -Problem: Vim9: getting a list member may not work. -Solution: Clear the list only after copying the item. (closes #6393) -Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1135 -Problem: Vim9: getting a dict member may not work. -Solution: Clear the dict only after copying the item. -Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1136 -Problem: Vim9: return type of argv() is always any. -Solution: Use list<string> if there is no argument. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1137 -Problem: Vim9: modifiers not cleared after compiling function. -Solution: Clear command modifiers. (closes #6396) -Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, - src/testdir/test_vim9_func.vim, - src/testdir/dumps/Test_vim9_silent_echo.dump - -Patch 8.2.1138 -Problem: Vim9: return type of copy() and deepcopy() is any. -Solution: Use type of the argument. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1139 (after 8.2.1137) -Problem: Vim9: test for silent echo fails in some environments. -Solution: Use :function instead of :def. -Files: src/testdir/test_vim9_func.vim - -Patch 8.2.1140 -Problem: Vim9: return type of extend() is any. -Solution: Use type of the argument. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1141 -Problem: Vim9: return type of filter() is any. -Solution: Use type of the argument. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1142 -Problem: Vim9: return type of insert() is any. -Solution: Use type of the first argument. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1143 -Problem: Vim9: return type of remove() is any. -Solution: Use the member type of the first argument, if known. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1144 -Problem: Vim9: return type of reverse() is any. -Solution: Use the type of the first argument. -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1145 -Problem: Vim9: "for" only accepts a list at compile time. -Solution: Also accept a list at runtime. -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1146 -Problem: Not enough testing for Python. -Solution: Add more tests. Fix uncovered problems. (Yegappan Lakshmanan, - closes #6392) -Files: src/if_py_both.h, src/if_python3.c, src/testdir/shared.vim, - src/testdir/test_python2.vim, src/testdir/test_python3.vim - -Patch 8.2.1147 -Problem: :confirm may happen in cooked mode. (Jason Franklin) -Solution: Switch to raw mode before prompting. (Brandon Pfeifer) -Files: src/message.c, src/testdir/test_excmd.vim - -Patch 8.2.1148 -Problem: Warning for using int instead of size_t. -Solution: Change "len" argument to size_t. (Mike Williams) -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9script.c - -Patch 8.2.1149 -Problem: Vim9: :eval command not handled properly. -Solution: Compile the :eval command. (closes #6408) -Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1150 -Problem: ml_get error when using Python. (Yegappan Lakshmanan) -Solution: Check the line number is not out of range. Call "Check" with - "fromObj" instead of "from". -Files: src/if_py_both.h, src/testdir/test_python2.vim, - src/testdir/test_python3.vim - -Patch 8.2.1151 -Problem: Insufficient test coverage for Python. -Solution: Add more test cases. (Yegappan Lakshmanan, closes #6415) -Files: src/testdir/test_python2.vim, src/testdir/test_python3.vim - -Patch 8.2.1152 -Problem: Vim9: function reference is missing script prefix. -Solution: Use the actual function name instead of the name searched for in - the script context. (closes #6412) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1153 -Problem: Vim9: script test fails on some systems. -Solution: Return proper value from Compare(). -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.1154 -Problem: Vim9: crash when using imported function. -Solution: Check for a function type. Set the script context when calling a - function. (closes #6412) -Files: src/evalvars.c, src/scriptfile.c, src/proto/scriptfile.pro, - src/vim9execute.c, src/structs.h, src/testdir/test_vim9_script.vim - -Patch 8.2.1155 -Problem: Vim9: cannot handle line break inside lambda. -Solution: Pass the compilation context through. (closes #6407, closes #6409) -Files: src/structs.h, src/vim9compile.c, src/proto/vim9compile.pro, - src/eval.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1156 -Problem: Vim9: No error for invalid command in compiled function. -Solution: Handle CMD_SIZE. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1157 -Problem: Vim9: dict.name is not recognized as an expression. -Solution: Recognize ".name". (closes #6418) -Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1158 (after 8.2.1155) -Problem: Build error. -Solution: Add missing change to globals. -Files: src/globals.h - -Patch 8.2.1159 -Problem: Vim9: no error for missing space after a comma. -Solution: Check for white space. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.1160 -Problem: Vim9: memory leak in allocated types. -Solution: Free the type pointers. -Files: src/vim9script.c, src/userfunc.c, src/vim9compile.c, - src/proto/vim9compile.pro - -Patch 8.2.1161 -Problem: Vim9: using freed memory. -Solution: Put pointer back in evalarg instead of freeing it. -Files: src/userfunc.c, src/vim9compile.c, src/eval.c, src/proto/eval.pro, - src/structs.h - -Patch 8.2.1162 -Problem: Crash when using a lambda. -Solution: Check for evalarg to be NULL. -Files: src/userfunc.c - -Patch 8.2.1163 (after 8.2.1161) -Problem: Build error. -Solution: Add missing change to globals. -Files: src/globals.h - -Patch 8.2.1164 -Problem: Text cleared by checking terminal properties not redrawn. (Alexey - Radkov) -Solution: Mark the screen characters as invalid. (closes #6422) -Files: src/screen.c, src/proto/screen.pro, src/term.c - -Patch 8.2.1165 -Problem: Insufficient testing for the Tcl interface. -Solution: Add more tests. (Yegappan Lakshmanan, closes #6423) -Files: src/testdir/test_tcl.vim - -Patch 8.2.1166 -Problem: Once mouse move events are enabled getchar() returns them. -Solution: Ignore K_MOUSEMOVE in getchar(). (closes #6424) -Files: runtime/doc/eval.txt, src/getchar.c - -Patch 8.2.1167 -Problem: Vim9: builtin function method call only supports first argument. -Solution: Shift arguments when needed. (closes #6305, closes #6419) -Files: src/evalfunc.c, src/vim9compile.c, src/vim9execute.c, - src/vim9.h, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1168 -Problem: Wrong method argument for appendbufline(). -Solution: Use FEARG_3. -Files: src/evalfunc.c - -Patch 8.2.1169 -Problem: Write NUL past allocated space using corrupted spell file. - (Markus Vervier) -Solution: Init "c" every time. -Files: src/spellfile.c - -Patch 8.2.1170 -Problem: Cursor off by one with block paste while 'virtualedit' is "all". -Solution: Adjust condition. (Hugo Gualandi, closes #6430) -Files: src/register.c, src/testdir/test_registers.vim - -Patch 8.2.1171 -Problem: Possible crash when out of memory. -Solution: Check for NULL pointer. (Dominique Pellé, closes #6432) -Files: src/syntax.c - -Patch 8.2.1172 -Problem: Error messages when doing "make clean" in the runtime/doc or - src/tee directories. -Solution: Use "rm -f". -Files: runtime/doc/Makefile, src/tee/Makefile - -Patch 8.2.1173 -Problem: Tee doesn't build on some systems. -Solution: Include header files. (Dominique Pelle, closes #6431) -Files: src/tee/tee.c - -Patch 8.2.1174 -Problem: No test for the "recording @x" message. -Solution: Add a test. (Dominique Pellé, closes #6427) -Files: src/testdir/test_registers.vim - -Patch 8.2.1175 -Problem: Vim9: Cannot split a line before ".member". -Solution: Check for ".member" after line break. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1176 -Problem: Vim9: not enough type checking in Vim9 script. -Solution: Use same type checking as in a :def function. -Files: src/vim9compile.c, src/proto/vim9compile.pro, - src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1177 -Problem: Terminal2 test sometimes hangs in the GUI. -Solution: Move some tests to other files to further locate the problem. - Set the GUI to a fixed screen size. -Files: src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, - src/testdir/test_terminal3.vim, src/testdir/Make_all.mak, - src/testdir/runtest.vim - -Patch 8.2.1178 -Problem: Vim9: filter function recognized as command modifier, leading to a - crash. -Solution: Clear cmdmod after freeing items. Do not recognize a command - modifier followed by non-white space. (closes #6434) -Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim - -Patch 8.2.1179 -Problem: Test_termwinscroll() sometimes hangs in the GUI. -Solution: Skip the test in the GUI. -Files: src/testdir/test_terminal2.vim - -Patch 8.2.1180 -Problem: Build failure in small version. -Solution: Add #ifdef. -Files: src/ex_docmd.c - -Patch 8.2.1181 -Problem: Json code not fully tested. -Solution: Add more test coverage. (Dominique Pellé, closes #6433) -Files: src/testdir/test_json.vim - -Patch 8.2.1182 -Problem: Vim9: no check for whitespace after comma in lambda. -Solution: Give error if white space is missing. -Files: src/userfunc.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_func.vim - -Patch 8.2.1183 -Problem: assert_fails() checks the last error message. -Solution: Check the first error, it is more relevant. Fix all the tests - that rely on the old behavior. -Files: runtime/doc/testing.txt, src/message.c, src/globals.h, - src/testing.c, src/testdir/test_autocmd.vim, - src/testdir/test_buffer.vim, src/testdir/test_cd.vim, - src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, - src/testdir/test_cmdline.vim, src/testdir/test_cpoptions.vim, - src/testdir/test_cscope.vim, src/if_cscope.c, - src/testdir/test_excmd.vim, src/evalvars.c, - src/testdir/test_expr.vim, src/testdir/test_functions.vim, - src/testdir/test_json.vim, src/testdir/test_let.vim, - src/testdir/test_listdict.vim, src/testdir/test_listener.vim, - src/testdir/test_match.vim, src/testdir/test_menu.vim, - src/testdir/test_method.vim, src/testdir/test_normal.vim, - src/testdir/test_popup.vim, src/testdir/test_python2.vim, - src/testdir/test_python3.vim, src/testdir/test_quickfix.vim, - src/testdir/test_random.vim, src/testdir/test_search.vim, - src/testdir/test_signs.vim, src/testdir/test_spell.vim, - src/testdir/test_substitute.vim, src/testdir/test_syntax.vim, - src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim, - src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, - src/testdir/test_trycatch.vim, - src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_func.vim, src/vim9compile.c, - src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, - src/testdir/test_winbuf_close.vim, - src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim, - src/testdir/test_regexp_latin.vim, src/testdir/test_utf8.vim, - src/testdir/test_global.vim, src/testdir/test_tagfunc.vim - -Patch 8.2.1184 (after 8.2.1183) -Problem: Some tests fail. -Solution: Adjust tests for different assert_fails() behavior. Remove unused - variable. -Files: src/testdir/test_assert.vim, src/testdir/test_eval_stuff.vim, - src/evalvars.c - -Patch 8.2.1185 (after 8.2.1183) -Problem: Some other tests fail. -Solution: Adjust tests for different assert_fails() behavior. -Files: src/testdir/test_lua.vim, src/testdir/test_tcl.vim - -Patch 8.2.1186 -Problem: With SGR mouse codes balloon doesn't show up after click. -Solution: Add the MOUSE_RELEASE bits to mouse_code. -Files: src/mouse.c - -Patch 8.2.1187 -Problem: Terminal2 test sometimes hangs in the GUI on Travis. -Solution: Disable Test_zz2_terminal_guioptions_bang() for now. -Files: src/testdir/test_terminal2.vim - -Patch 8.2.1188 -Problem: Memory leak with invalid json input. -Solution: Free all keys at the end. (Dominique Pellé, closes #6443, - closes #6442) -Files: src/json.c, src/testdir/test_json.vim - -Patch 8.2.1189 -Problem: Vim9: line continuation in lambda doesn't always work. -Solution: Do not use a local evalarg unless there isn't one. (closes #6439) -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1190 -Problem: Vim9: checking for Vim9 syntax is spread out. -Solution: Use in_vim9script(). -Files: src/vim9script.c, src/dict.c, src/eval.c, src/evalvars.c, - src/ex_docmd.c, src/list.c, src/scriptfile.c, src/userfunc.c - -Patch 8.2.1191 -Problem: Vim9: crash when function calls itself. -Solution: Add status UF_COMPILING. (closes #6441) -Files: src/structs.h, src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1192 -Problem: Lua test fails with older Lua version. -Solution: Adjust expected error messages. (closes #6444) -Files: src/testdir/test_lua.vim - -Patch 8.2.1193 -Problem: Terminal window not redrawn when dragging a popup window over it. -Solution: Redraw terminal window. (fixes #6438) -Files: src/popupwin.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_term_01.dump, - src/testdir/dumps/Test_popupwin_term_02.dump - -Patch 8.2.1194 -Problem: Test failure because shell prompt differs. -Solution: Set the shell prompt. -Files: src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_term_01.dump, - src/testdir/dumps/Test_popupwin_term_02.dump - -Patch 8.2.1195 -Problem: Clientserver test fails on MS-Windows. -Solution: Expect a different error message. -Files: src/testdir/test_clientserver.vim - -Patch 8.2.1196 -Problem: Build failure with normal features. -Solution: Add #ifdef. -Files: src/popupwin.c - -Patch 8.2.1197 -Problem: Clientserver test still fails on MS-Windows. -Solution: Expect a different error message. -Files: src/testdir/test_clientserver.vim - -Patch 8.2.1198 -Problem: Terminal2 test sometimes hangs in the GUI on Travis. -Solution: Move test function to terminal3 to see if the problem moves too. -Files: src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim - -Patch 8.2.1199 -Problem: Not all assert functions are fully tested. -Solution: Test more assert functions. -Files: src/testing.c, src/testdir/test_assert.vim - -Patch 8.2.1200 -Problem: Vim9: cannot disassemble a lambda function. -Solution: Recognize "<lambda>123" as a function name. -Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1201 -Problem: Vim9: crash when passing number as dict key. -Solution: Check key type to be string. (closes #6449) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1202 -Problem: Vim9: crash when calling a closure from a builtin function. -Solution: Use the current execution context. (closes #6441) -Files: src/vim9execute.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1203 -Problem: Unused assignments in expression evaluation. -Solution: Move declarations and assignments to inner blocks where possible. -Files: src/eval.c - -Patch 8.2.1204 -Problem: Vim9: true and false not recognized in Vim9 script. -Solution: Recognize true and false. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1205 -Problem: Vim9: && and || work differently when not compiled. -Solution: Keep the value. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1206 -Problem: Vim9: crash in expr test when run in the GUI. -Solution: Temporarily comment out two test lines. -Files: src/testdir/test_vim9_expr.vim - -Patch 8.2.1207 -Problem: Vim9: crash in expr test when run in the GUI. -Solution: Break out of loop over hashtab also when function got removed and - added. -Files: src/userfunc.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1208 -Problem: Build failure. -Solution: Add missing change. -Files: src/structs.h - -Patch 8.2.1209 -Problem: Vim9: test failure. -Solution: Add missing changes to hashtab. -Files: src/hashtab.c - -Patch 8.2.1210 -Problem: Using ht_used when looping through a hashtab is less reliable. -Solution: Use ht_changed in a few more places. -Files: src/userfunc.c, src/if_py_both.h - -Patch 8.2.1211 (after 8.2.1118) -Problem: Removed more than dead code. -Solution: Put back the decrement. -Files: src/move.c, src/testdir/test_diffmode.vim - -Patch 8.2.1212 -Problem: Cannot build with Lua 5.4. -Solution: Use luaL_typeerror instead defining it. (closes #6454) -Files: src/if_lua.c - -Patch 8.2.1213 -Problem: Mouse codes not tested sufficiently. -Solution: Add more tests for mouse codes. (closes #6436) -Files: src/testdir/test_termcodes.vim - -Patch 8.2.1214 -Problem: MS-Windows: default _vimrc not correct in silent install mode. -Solution: Add the LoadDefaultVimrc macro. (Ken Takata, closes #6451) -Files: nsis/gvim.nsi - -Patch 8.2.1215 -Problem: Atari MiNT support is outdated. -Solution: Nobody responded this code is still useful, so let's delete it. -Files: Filelist, src/os_mint.h, src/vim.h, src/Make_mint.mak, - src/digraph.c, src/fileio.c, src/memfile.c, src/os_unix.c, - src/term.c, READMEdir/README_extra.txt, runtime/doc/os_mint.txt, - src/INSTALL - -Patch 8.2.1216 -Problem: Startup test fails. -Solution: Adjust expected values for deleted lines. -Files: src/testdir/test_startup.vim - -Patch 8.2.1217 -Problem: Startup test depends on random source file. -Solution: Write a test file to find quickfix errors in. -Files: src/testdir/test_startup.vim - -Patch 8.2.1218 -Problem: Vim9: cannot use 'text'->func(). -Solution: Recognize string at start of command. -Files: src/vim9compile.c, src/ex_docmd.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1219 -Problem: Symlink not followed if dirname ends in //. -Solution: Resolve symlink earlier. (Tomáš Janoušek, closes #6454) -Files: src/memline.c, src/testdir/test_swap.vim - -Patch 8.2.1220 -Problem: memory access error when dragging a popup window over a buffer - with folding. -Solution: Avoid going over the end of the cache. (closes #6438) -Files: src/mouse.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_term_01.dump, - src/testdir/dumps/Test_popupwin_term_02.dump, - src/testdir/dumps/Test_popupwin_term_03.dump, - src/testdir/dumps/Test_popupwin_term_04.dump - -Patch 8.2.1221 -Problem: Memory leak when updating popup window. -Solution: Clear search highlighting. -Files: src/popupwin.c - -Patch 8.2.1222 -Problem: When using valgrind a Vim command started by a test uses the same - log file name which gets overwritten. -Solution: Fix regexp to rename the log file. -Files: src/testdir/shared.vim - -Patch 8.2.1223 -Problem: Vim9: invalid type error for function default value. -Solution: Use right argument index. (closes #6458) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1224 -Problem: Vim9: arguments from partial are not used. -Solution: Put the partial arguments on the stack. (closes #6460) -Files: src/vim9execute.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1225 -Problem: Linker errors when building with dynamic Python 3.9. -Solution: Add #defined items. (closes #6461) -Files: src/if_python3.c - -Patch 8.2.1226 -Problem: MS-Windows: windows positioning wrong when the taskbar is placed - at the top or left of the screen. -Solution: Use GetWindowRect and MoveWindow APIs. (Yukihiro Nakadaira, - Ken Takata, closes #6455) -Files: src/gui_w32.c - -Patch 8.2.1227 -Problem: Vim9: allowing both quoted and # comments is confusing. -Solution: Only support # comments in Vim9 script. -Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, - src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.1228 -Problem: Scrollbars not flush against the window edges when maximised. -Solution: Add padding. (Ken Takata, closes #5602, closes #6466) -Files: src/gui.c, src/gui_athena.c, src/gui_gtk.c, src/gui_haiku.cc, - src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, - src/proto/gui_athena.pro, src/proto/gui_gtk.pro, - src/proto/gui_haiku.pro, src/proto/gui_mac.pro, - src/proto/gui_motif.pro, src/proto/gui_photon.pro, - src/proto/gui_w32.pro - -Patch 8.2.1229 -Problem: Build error without the eval feature. -Solution: Declare starts_with_colon. Make function local. -Files: src/ex_docmd.c, src/proto/ex_docmd.pro - -Patch 8.2.1230 -Problem: Vim9: list index error not caught by try/catch. -Solution: Do not bail out if an error is inside try/catch. (closes #6462) -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1231 -Problem: MS-Windows: GUI code can be cleaned up. -Solution: Do a bit of cleaning up. (Ken Takata, closes #6465) -Files: src/gui_w32.c, src/proto/gui_w32.pro - -Patch 8.2.1232 -Problem: MS-Windows GUI: Snap cancelled by split command. -Solution: Do not cancel Snap when splitting a window. (Ken Takata, - closes #6467) -Files: src/gui_w32.c - -Patch 8.2.1233 -Problem: Vim9: various errors not caught by try/catch. -Solution: Do not bail out if an error is inside try/catch. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1234 -Problem: Lua build problem with old compiler. -Solution: Move declarations to start of the block. (Taro Muraoka, - closes #6477) -Files: src/if_lua.c - -Patch 8.2.1235 -Problem: Not all mouse codes covered by tests. -Solution: Add more tests for the mouse. (Yegappan Lakshmanan, closes #6472) -Files: src/testdir/mouse.vim, src/testdir/test_termcodes.vim - -Patch 8.2.1236 -Problem: Vim9: a few errors not caught by try/catch. -Solution: Do not bail out if an error is inside try/catch. Fix that a not - matching catch doesn't jump to :endtry. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1237 -Problem: Changing 'completepopup' after opening a popup has no effect. (Jay - Sitter) -Solution: Close the popup when the options are changed. (closes #6471) -Files: runtime/doc/options.txt, src/popupwin.c, src/proto/popupwin.pro, - src/optionstr.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_infopopup_8.dump - -Patch 8.2.1238 -Problem: Vim9: a few remaining errors not caught by try/catch. -Solution: Do not bail out if an error is inside try/catch. -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1239 -Problem: "maxwidth" in 'completepopup' not obeyed. (Jay Sitter) -Solution: Add separate field for value from option. (closes #6470) -Files: src/structs.h, src/popupwin.c, src/popupmenu.c, - src/testdir/dumps/Test_popupwin_infopopup_9.dump - -Patch 8.2.1240 -Problem: GUI tests sometimes fail because of translations. -Solution: Reload the menus without translation. (Taro Muraoka, closes #6486) -Files: src/testdir/runtest.vim - -Patch 8.2.1241 -Problem: Cannot use getbufinfo() as a method. -Solution: Support using getbufinfo() as a method. (closes #6458) -Files: runtime/doc/eval.txt, src/evalfunc.c, - src/testdir/test_bufwintabinfo.vim - -Patch 8.2.1242 -Problem: Vim9: no error if calling a function with wrong argument type. -Solution: Check types of arguments. (closes #6469) -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9execute.c, - src/testdir/test_vim9_func.vim - -Patch 8.2.1243 -Problem: Vim9: cannot have a comment or empty line halfway a list at script - level. -Solution: Skip more than one line if needed. -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/eval.c, - src/scriptfile.c - -Patch 8.2.1244 -Problem: Vim9: in lambda index assumes a list. -Solution: Use the value type to decide about list or dict. (closes #6479) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1245 -Problem: Build failure in tiny version. -Solution: Add #ifdef. -Files: src/scriptfile.c - -Patch 8.2.1246 -Problem: Vim9: comment after assignment doesn't work. -Solution: Skip over white space. (closes #6481) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1247 -Problem: Vim9: cannot index a character in a string. -Solution: Add ISN_STRINDEX instruction. (closes #6478) -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1248 -Problem: Netbeans test is flaky in the GUI. -Solution: Filter out geometry messages. (Taro Muraoka, closes #6487) -Files: src/testdir/test_netbeans.vim - -Patch 8.2.1249 -Problem: Vim9: disassemble test fails. -Solution: Change INDEX to LISTINDEX. Add test for STRINDEX. -Files: src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1250 -Problem: Vim9: cannot use the g:, b:, t: and w: namespaces. -Solution: Add instructions to push a dict for the namespaces. (closes #6480) -Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_disassemble.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1251 -Problem: Vim9: warning for pointer usage, test failure undetected. -Solution: Fix pointer indirection. Give error when executing function - failed for any reason. Fix instruction names. -Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro - -Patch 8.2.1252 -Problem: ":marks" may show '< and '> mixed up. -Solution: Show the mark position as where '< and '> would jump. -Files: src/mark.c, src/testdir/test_marks.vim - -Patch 8.2.1253 -Problem: CTRL-K in Insert mode gets <CursorHold> inserted. (Roland - Puntaier) -Solution: Do not reset did_cursorhold, restore it. (closes #6447) -Files: src/normal.c - -Patch 8.2.1254 -Problem: MS-Windows: regexp test may fail if 'iskeyword' set wrongly. -Solution: Override the 'iskeyword' value. (Taro Muraoka, closes #6502) -Files: src/testdir/test_regexp_utf8.vim - -Patch 8.2.1255 -Problem: Cannot use a lambda with quickfix functions. -Solution: Add support for lambda. (Yegappan Lakshmanan, closes #6499) -Files: runtime/doc/eval.txt, runtime/doc/options.txt, - runtime/doc/quickfix.txt, src/channel.c, src/evalvars.c, - src/optionstr.c, src/proto/evalvars.pro, src/proto/quickfix.pro, - src/quickfix.c, src/testdir/test_quickfix.vim - -Patch 8.2.1256 -Problem: Vim9: type wrong after getting dict item in lambda. -Solution: Set the type to "any" after enforcing dict type. (closes #6491) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1257 -Problem: Vim9: list unpack doesn't work at the script level. -Solution: Detect unpack assignment better. (closes #6494) -Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1258 (after 8.2.1253) -Problem: CursorHold does not work well.a (Shane-XB-Qian) -Solution: Only restore did_cursorhold when using :normal. -Files: src/normal.c - -Patch 8.2.1259 -Problem: Empty group in 'tabline' may cause using an invalid pointer. -Solution: Set the group start position. (closes #6505) -Files: src/buffer.c, src/testdir/test_tabline.vim - -Patch 8.2.1260 -Problem: There is no good test for CursorHold. -Solution: Add a test. Remove duplicated test. (Yegappan Lakshmanan, - closes #6503) -Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, - src/testdir/test_normal.vim - -Patch 8.2.1261 -Problem: Vim9: common type of function not tested. -Solution: Add a test. Fix uncovered problems. -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1262 -Problem: src/ex_cmds.c file is too big. -Solution: Move help related code to src/help.c. (Yegappan Lakshmanan, - closes #6506) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/cmdexpand.c, src/ex_cmds.c, src/help.c, src/proto.h, - src/proto/ex_cmds.pro, src/proto/help.pro - -Patch 8.2.1263 -Problem: Vim9: comparators use 'ignorecase' in Vim9 script. -Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0. - (closes #6497) -Files: src/eval.c, src/typval.c, src/vim9execute.c, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1264 -Problem: Terminal getwinpos() test is a bit flaky. -Solution: Call getwinpos() a bit later. -Files: src/testdir/test_terminal3.vim - -Patch 8.2.1265 -Problem: Crash with EXITFREE when split() fails. -Solution: Restore 'cpoptions'. -Files: src/evalfunc.c - -Patch 8.2.1266 (after 8.2.1262) -Problem: Makefile preference were accidentally included. -Solution: Revert the Makefile changes. -Files: src/Makefile - -Patch 8.2.1267 -Problem: MS-Windows: tests may fail due to $PROMPT value. -Solution: Set $PROMPT for testing. (Taro Muraoka, closes #6510) -Files: src/testdir/runtest/vim - -Patch 8.2.1268 -Problem: Vim9: no error for using double quote comment after :func or :def. -Solution: Only accept double quote when not in Vim9 script and not after - :def. (closes #6483) -Files: src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1269 -Problem: Language and locale code spread out. -Solution: Move relevant code to src/locale.c. (Yegappan Lakshmanan, - closes #6509) -Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, - src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, - src/ex_cmds2.c, src/locale.c, src/main.c, src/proto.h, - src/proto/ex_cmds2.pro, src/proto/locale.pro - -Patch 8.2.1270 -Problem: Vim9: not skipping over function type declaration with only a - return type. -Solution: Skip over the return type. (issue #6507) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1271 -Problem: Vim9: Error for Funcref function argument type. -Solution: Find the actual function type if possible. (issue #6507) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1272 -Problem: Vim9: type not checked if declaration also assigns value. -Solution: Check the type. (issue #6507) -Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, - src/vim9script.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1273 -Problem: MS-Windows: terminal test may leave file behind. -Solution: Wait a moment for process to end before deleting the file. - (Taro Muraoka, closes #6513) -Files: src/testdir/test_terminal.vim - -Patch 8.2.1274 -Problem: Vim9: no error for missing white space in assignment at script - level. -Solution: Check for white space. (closes #6495) -Files: src/eval.c, src/evalvars.c, src/testdir/test_vim9_script.vim, - src/testdir/test_let.vim - -Patch 8.2.1275 -Problem: Vim9: compiler warning for buffer size. -Solution: Change the offset from 10 to 15. (Dominique Pellé, closes #6518) -Files: src/vim9script.c - -Patch 8.2.1276 -Problem: MS-Windows: system test may fail if more.exe is installed. -Solution: Explicitly use more.com. (Taro Muraoka, Ken Takata, closes #6517) -Files: src/testdir/test_system.vim - -Patch 8.2.1277 -Problem: Tests on Travis do not run with EXITFREE. -Solution: Add EXITFREE to all builds to uncover any mistakes. -Files: .travis.yml - -Patch 8.2.1278 -Problem: Vim9: line break after "->" only allowed in :def function. -Solution: Only allow line break after "->". (closes #6492) -Files: src/vim9compile.c, src/globals.h, src/testdir/test_vim9_expr.vim - -Patch 8.2.1279 -Problem: Some tests on Travis have EXITFREE duplicated. -Solution: Remove EXITFREE from shadowopt. Add "shadow" to job name. -Files: .travis.yml - -Patch 8.2.1280 -Problem: Ex command error cannot contain an argument. -Solution: Add ex_errmsg() and translate earlier. Use e_trailing_arg where - possible. -Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/buffer.c, - src/ex_eval.c, src/match.c, src/testdir/test_tabpage.vim - -Patch 8.2.1281 -Problem: The "trailing characters" error can be hard to understand. -Solution: Add the trailing characters to the message. -Files: src/cmdhist.c, src/eval.c, src/evalfunc.c, src/evalvars.c, - src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, src/json.c, - src/menu.c, src/quickfix.c, src/sign.c, src/userfunc.c - -Patch 8.2.1282 -Problem: Vim9: crash when using CheckScriptFailure() in - Test_vim9script_call_fail_decl(). -Solution: Do not decrement the def_functions len unless the function was - newly added. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1283 -Problem: Vim9: error for misplaced -> lacks argument. -Solution: Use the pointer before it was advanced. -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1284 -Problem: Vim9: skipping over type includes following white space, leading - to an error for missing white space. -Solution: Do not skip over white space after the type. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1285 -Problem: Vim9: argument types are not checked on assignment. -Solution: Check function argument types. (issue #6507) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1286 -Problem: Vim9: No error when using a type on a window variable -Solution: Recognize the syntax and give an error. (closes #6521) -Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1287 -Problem: Vim9: crash when using an imported function. -Solution: Add the function type to the imported entry. (closes #6522) -Files: src/vim9script.c, src/vim9compile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1288 -Problem: Vim9: cannot use mark in range. -Solution: Use the flag that a colon was seen. (closes #6528) -Files: src/ex_docmd.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1289 -Problem: Crash when using a custom completion function. -Solution: Initialize all of the expand_T. (closes #6532) -Files: src/cmdexpand.c - -Patch 8.2.1290 -Problem: Vim9: cannot replace a global function. -Solution: Allow for "!" on a global function. (closes #6524) Also fix that - :delfunc on a :def function only made it empty. -Files: src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1291 -Problem: Vim9: type of varargs items is not checked. -Solution: Check the list item types. (closes #6523) -Files: src/vim9execute.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1292 -Problem: AIDL filetype not recognized. -Solution: Add filetype detection. (Dominique Pellé, closes #6533) -Files: runtime/filetype.vim, src/testdir/test_filetype.vim - -Patch 8.2.1293 -Problem: Vim9: :execute mixes up () expression and function call. -Solution: Do not skip white space when looking for the "(". (closes #6531) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1294 -Problem: Vim9: error when using vim9script in TextYankPost. -Solution: Use EX_LOCKOK instead of the EX_CMDWIN flag for command that can - be used when text is locked. (closes #6529) -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 8.2.1295 -Problem: Tests 44 and 99 are old style. -Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #6536) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, - src/testdir/test44.in, src/testdir/test44.ok, - src/testdir/test99.in, src/testdir/test99.ok, - src/testdir/test_regexp_utf8.vim - -Patch 8.2.1296 -Problem: Some part of using 'smartcase' was not tested. -Solution: Add more tests. (Dominique Pellé, closes #6538) -Files: src/testdir/test_search.vim - -Patch 8.2.1297 -Problem: When a test fails it's often not easy to see what the call stack - is. -Solution: Add more entries from the call stack in the exception message. -Files: runtime/doc/cmdline.txt, src/scriptfile.c, - src/proto/scriptfile.pro, src/debugger.c, src/ex_docmd.c, - src/ex_eval.c, src/message.c, src/testing.c, - src/testdir/test_expand_func.vim - -Patch 8.2.1298 -Problem: Compiler warning for unused argument in small version. -Solution: Add UNUSED. -Files: src/scriptfile.c - -Patch 8.2.1299 -Problem: Compiler warning for using size_t for int and void pointer. -Solution: Add type casts. -Files: src/scriptfile.c - -Patch 8.2.1300 -Problem: Vim9: optional argument type not parsed properly. -Solution: Skip over the "?". (issue #6507) -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/evalvars.c, - src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1301 -Problem: Vim9: varargs argument type not parsed properly. -Solution: Skip over the "...". (issue #6507) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1302 -Problem: Vim9: varargs arg after optional arg does not work -Solution: Check for the "..." first. (issue #6507) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1303 -Problem: Calling popup_setoptions() resets 'signcolumn'. -Solution: Only set 'signcolumn' when creating the popup. (closes #6542) -Files: src/popupwin.c, src/testdir/test_popupwin.vim - -Patch 8.2.1304 -Problem: Debug backtrace isn't tested much. -Solution: Add more specific tests. (Ben Jackson, closes #6540) -Files: src/testdir/runtest.vim, src/testdir/test_debugger.vim - -Patch 8.2.1305 -Problem: Some tests are still old style. -Solution: Convert tests 52 and 70 to new style. (Yegappan Lakshmanan, - closes #6544) Fix error in FinishTesting(). -Files: src/testdir/runtest.vim, src/Makefile, src/testdir/Make_all.mak, - src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms, - src/testdir/test52.in, src/testdir/test52.ok, - src/testdir/test70.in, src/testdir/test70.ok, - src/testdir/test_mzscheme.vim, src/testdir/test_writefile.vim - -Patch 8.2.1306 -Problem: Checking for first character of dict key is inconsistent. -Solution: Add eval_isdictc(). (closes #6546) -Files: src/eval.c, src/proto/eval.pro, src/vim9compile.c, - src/testdir/test_listdict.vim, src/testdir/test_vim9_expr.vim, - src/testdir/test_let.vim - -Patch 8.2.1307 -Problem: popup window width does not include number, fold of sign column - width. -Solution: Take number, fold and sign column with into account. -Files: src/popupwin.c, src/testdir/test_popupwin.vim, - src/testdir/dumps/Test_popupwin_sign_2.dump - -Patch 8.2.1308 -Problem: Vim9: accidentally using "x" causes Vim to exit. -Solution: Disallow using ":x" or "xit" in Vim9 script. (closes #6399) -Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9script.c, - src/proto/vim9script.pro, src/ex_docmd.c, src/ex_cmds.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1309 -Problem: Build failure with tiny version. -Solution: Add #ifdef. -Files: src/ex_cmds.c, src/ex_docmd.c - -Patch 8.2.1310 -Problem: Configure with Xcode 12 fails to check for tgetent. -Solution: Declare tgetent(). (Ozaki Kiichi, closes #6558) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.1311 -Problem: Test failures with legacy Vim script. -Solution: Actually check for Vim9 script. -Files: src/vim9script.c - -Patch 8.2.1312 -Problem: MS-Windows: terminal test may fail if dir.exe exists. -Solution: Use dir.com. (Ken Takata, closes #6557) -Files: src/testdir/test_terminal3.vim - -Patch 8.2.1313 -Problem: Vim9 script: cannot assign to environment variable. -Solution: Recognize environment variable assignment. (closes #6548) - Also options and registers. -Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1314 -Problem: Vim9: rule for comment after :function is confusing. -Solution: Allow double quoted comment after :function in vim9script. - (closes #6556) -Files: src/userfunc.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1315 -Problem: MS-Windows: test log contains escape sequences. -Solution: Do not use t_md and t_me but ANSI escape sequences. (Ken Takata, - closes #6559) -Files: src/testdir/runtest.vim - -Patch 8.2.1316 -Problem: Test 42 is still old style. -Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #6561) -Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, - src/testdir/test42.in, src/testdir/test42.ok, - src/testdir/test_writefile.vim - -Patch 8.2.1317 -Problem: MS-Windows tests on AppVeyor are slow. -Solution: Use GitHub Actions. (Ken Takata, closes #6569) -Files: Filelist, .github/workflows/ci-windows.yaml, appveyor.yml, - ci/appveyor.bat - -Patch 8.2.1318 -Problem: No status badge for Github CI. -Solution: Add a badge. -Files: README.md - -Patch 8.2.1319 -Problem: Status badge for Github CI has wrong link. -Solution: Rename and use the right link -Files: README.md, .github/workflows/ci-windows.yaml - -Patch 8.2.1320 -Problem: Vim9: cannot declare some single letter variables. -Solution: Do not recognize a colon for a namespace for single letter - variables. (closes #6547) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1321 -Problem: GitHub CI also runs on tag push. -Solution: Skip CI on push. (Ken Takata, closes #6571) -Files: .github/workflows/ci-windows.yaml - -Patch 8.2.1322 -Problem: Vim9: method on double quoted string doesn't work. -Solution: Recognize double quoted string. (closes #6562) -Files: src/ex_docmd.c, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1323 -Problem: Vim9: invalid operators only rejected in :def function. -Solution: Also reject them at script level. (closes #6564) -Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1324 -Problem: Vim9: line break after "=" does not work. -Solution: Also allow for NUL after "=". (closes #6549) -Files: src/evalvars.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1325 -Problem: Vim9: using Vim9 script for autoload not tested. -Solution: Add a test. Update help. -Files: runtime/doc/vim9.txt, src/testdir/test_autoload.vim, - src/testdir/sautest/autoload/auto9.vim - -Patch 8.2.1326 -Problem: Vim9: skipping over white space after list. -Solution: Do not skip white space, a following [] would be misinterpreted. - (closes #6552) Fix a few side effects. -Files: src/list.c, src/dict.c, src/eval.c, src/userfunc.c, - src/testdir/test_functions.vim, src/testdir/test_gn.vim, - src/testdir/test_popupwin.vim, src/testdir/test_tabpage.vim, - src/testdir/test_textprop.vim, src/testdir/test_textobjects.vim - -Patch 8.2.1327 -Problem: Mac: configure can't find Tcl libraries. -Solution: Adjust configure check. (closes #6575) -Files: src/configure.ac, src/auto/configure - -Patch 8.2.1328 -Problem: No space allowed before comma in list. -Solution: Legacy Vim script allows it. (closes #6577) -Files: src/dict.c, src/list.c, src/testdir/test_listdict.vim - -Patch 8.2.1329 -Problem: Vim9: cannot define global function inside :def function. -Solution: Assign to global variable instead of local. (closes #6584) -Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, - src/vim9.h, src/vim9execute.c, src/structs.h, - src/misc2.c, src/proto/misc2.pro, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_disassemble.vim - -Patch 8.2.1330 -Problem: Github workflow takes longer than needed. -Solution: Do two test runs in parallel instead of sequentially. (Ken Takata, - closes #6579) -Files: .github/workflows/ci-windows.yaml - -Patch 8.2.1331 -Problem: Vim9: :echo with two lists doesn't work. -Solution: Do not skip white space before []. (closes #6552) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1332 -Problem: Vim9: memory leak when using nested global function. -Solution: Delete the function when deleting the instruction. Disable test - that still causes a leak. -Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, - src/testdir/test_vim9_func.vim - -Patch 8.2.1333 -Problem: Vim9: memory leak when using nested global function. -Solution: Swap from and to when copying the lines. -Files: src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1334 -Problem: Github workflow timeout needs tuning -Solution: Use a 10 minute timeout. Fail when timing out. (Ken Takata, - closes #6590) -Files: .github/workflows/ci-windows.yaml - -Patch 8.2.1335 -Problem: CTRL-C in the GUI doesn't interrupt. (Sergey Vlasov) -Solution: Recognize "C" with CTRL modifier as CTRL-C. (issue #6565) -Files: src/gui.c, src/proto/gui.pro, src/gui_gtk_x11.c, src/gui_x11.c, - src/gui_photon.c - -Patch 8.2.1336 (after 8.2.1335) -Problem: Build failure on non-Unix systems. -Solution: Add #ifdef. -Files: src/gui.c - -Patch 8.2.1337 -Problem: Vim9: cannot use empty key in dict assignment. -Solution: Allow empty key. (closes #6591) -Files: src/vim9execute.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1338 -Problem: Vim9: assigning to script-local variable doesn't check type. -Solution: Use the type. (issue #6591) -Files: src/vim9compile.c, src/vim9execute.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1339 -Problem: Vim9: assigning to global dict variable doesn't work. -Solution: Guess variable type based in index type. (issue #6591) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1340 -Problem: Some tests fail on Cirrus CI and/or with FreeBSD. -Solution: Make 'backupskip' empty. Do not run tests as root. Check for - directory when using viminfo. (Ozaki Kiichi, closes #6596) -Files: .cirrus.yml, src/testdir/test_backup.vim, - src/testdir/test_edit.vim, src/testdir/test_viminfo.vim, - src/testdir/test_writefile.vim, src/viminfo.c - -Patch 8.2.1341 -Problem: Build failures. -Solution: Add missing error message. -Files: src/globals.h - -Patch 8.2.1342 -Problem: Vim9: accidentally using "x" gives a confusing error. -Solution: Disallow using ":t" in Vim9 script. (issue #6399) -Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9script.c, - src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1343 -Problem: Vim9: cannot find global function when using g: when local - function with the same name exists. -Solution: Find global function when using g:. -Files: src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1344 -Problem: Vim9: No test for trying to redefine global function. -Solution: Add a test. -Files: src/testdir/test_vim9_func.vim - -Patch 8.2.1345 -Problem: Redraw error when using visual block and scroll. -Solution: Add check for w_topline. (closes #6597) -Files: src/drawscreen.c, src/testdir/test_display.vim, - src/testdir/dumps/Test_display_visual_block_scroll.dump - -Patch 8.2.1346 -Problem: Small build fails. -Solution: Add #ifdef. -Files: src/ex_docmd.c - -Patch 8.2.1347 -Problem: Cannot easily get the script ID. -Solution: Support expand('<SID>'). -Files: runtime/doc/map.txt, src/ex_docmd.c, - src/testdir/test_expand_func.vim - -Patch 8.2.1348 -Problem: Build failure without the eval feature. -Solution: Add #ifdef. -Files: src/ex_docmd.c - -Patch 8.2.1349 -Problem: Vim9: can define a function with the name of an import. -Solution: Disallow using an existing name. (closes #6585) -Files: src/userfunc.c, src/vim9compile.c, src/globals.h, - src/testdir/test_vim9_script.vim - -Patch 8.2.1350 -Problem: Vim9: no test for error message when redefining function. -Solution: Add a test. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.1351 -Problem: Vim9: no proper error if using namespace for nested function. -Solution: Specifically check for a namespace. (closes #6582) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1352 -Problem: Vim9: no error for shadowing a script-local function by a nested - function. -Solution: Check for script-local function. (closes #6586) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1353 -Problem: Crash when drawing double-wide character in terminal window. - (Masato Nishihata) -Solution: Check getcell() returning NULL. (issue #6141) -Files: src/libvterm/src/screen.c, src/testdir/test_terminal.vim - -Patch 8.2.1354 -Problem: Test 59 is old style. -Solution: Convert into a new style test. (Yegappan Lakshmanan, closes #6604) -Files: runtime/doc/eval.txt, src/Makefile, src/testdir/Make_all.mak, - src/testdir/Make_vms.mms, src/testdir/test59.in, - src/testdir/test59.ok, src/testdir/test_spell_utf8.vim - -Patch 8.2.1355 -Problem: Vim9: no error using :let for options and registers. -Solution: Give an error. (closes #6568) -Files: src/evalvars.c, src/vim9compile.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1356 -Problem: Vim9: cannot get the percent register. -Solution: Check for readable registers instead of writable. (closes #6566) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1357 -Problem: Vim9: cannot assign to / register. -Solution: Adjust check for assignment. (issue #6566) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.1358 -Problem: Vim9: test fails with +dnd is not available. -Solution: Add condition. -Files: src/testdir/test_vim9_script.vim - -Patch 8.2.1359 -Problem: Vim9: cannot assign to / register in Vim9 script. -Solution: Adjust check for assignment in Vim9 script. (closes #6567) -Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1360 -Problem: Stray error for white space after expression. -Solution: Ignore trailing white space. (closes #6608) -Files: src/eval.c, src/testdir/test_filter_map.vim - -Patch 8.2.1361 -Problem: Error for white space after expression in assignment. -Solution: Skip over white space. (closes #6617) -Files: src/eval.c, src/testdir/test_expr.vim - -Patch 8.2.1362 -Problem: Last entry of ":set term=xxx" overwritten by error message when - 'cmdheight' is two or more. (Tony Mechelynck) -Solution: Output extra line breaks. -Files: src/term.c, src/testdir/test_termcodes.vim - -Patch 8.2.1363 -Problem: Test trying to run terminal when it is not supported. -Solution: Check if Vim can be run in a terminal. -Files: src/testdir/test_termcodes.vim - -Patch 8.2.1364 -Problem: Invalid memory access when searching for raw string. -Solution: Check for delimiter match before following quote. (closes #6578) -Files: src/search.c - -Patch 8.2.1365 -Problem: Vim9: no error for missing white space around operator. -Solution: Check for white space. (closes #6618) -Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, - src/evalvars.c, src/testdir/test_vim9_expr.vim, - src/testdir/test_vim9_func.vim - -Patch 8.2.1366 -Problem: Test 49 is old style. -Solution: Convert several tests to new style. (Yegappan Lakshmanan, - closes #6629) -Files: src/testdir/script_util.vim, src/testdir/test49.ok, - src/testdir/test49.vim, src/testdir/test_vimscript.vim - -Patch 8.2.1367 -Problem: Vim9: no error for missing white space around operator. -Solution: Check for white space around *, / and %. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1368 -Problem: Vim9: no error for missing white space around operator. -Solution: Check for white space around <, !=, etc. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1369 -Problem: MS-Windows: autocommand test sometimes fails. -Solution: Do not rely on the cat command. -Files: src/testdir/test_autocmd.vim - -Patch 8.2.1370 -Problem: MS-Windows: warning for using fstat() with stat_T. -Solution: use _fstat64() if available. (Naruhiko Nishino, closes #6625) -Files: src/macros.h - -Patch 8.2.1371 -Problem: Vim9: no error for missing white space around operator. -Solution: Check for white space around && and ||. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1372 -Problem: Vim9: no error for missing white space around operator. -Solution: Check for white space around ? and :. -Files: src/eval.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1373 -Problem: Vim9: no error for assigning to non-existing script var. -Solution: Check that in Vim9 script the variable was defined. (closes #6630) -Files: src/vim9compile.c, src/userfunc.c, src/structs.h, - src/testdir/test_vim9_script.vim - -Patch 8.2.1374 -Problem: Vim9: error for assigning empty list to script variable. -Solution: Use t_unknown for empty list member. (closes #6595) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1375 -Problem: Vim9: method name with digit not accepted. -Solution: Use eval_isnamec() instead of eval_isnamec1(). (closes #6613) -Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim - -Patch 8.2.1376 -Problem: Vim9: expression mapping causes error for using :import. -Solution: Add EX_LOCK_OK to :import and :export. (closes #6606) -Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim - -Patch 8.2.1377 -Problem: Triggering the ATTENTION prompt causes typeahead to be messed up. -Solution: Increment tb_change_cnt. (closes #6541) -Files: src/getchar.c - -Patch 8.2.1378 -Problem: Cannot put space between function name and paren. -Solution: Allow this for backwards compatibility. -Files: src/eval.c, src/testdir/test_expr.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1379 -Problem: Curly braces expression ending in " }" does not work. -Solution: Skip over white space when checking for "}". (closes #6634) -Files: src/dict.c, src/testdir/test_eval_stuff.vim - -Patch 8.2.1380 -Problem: Vim9: return type of getreg() is always a string. -Solution: Use list of strings when there are three arguments. (closes #6633) -Files: src/evalfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1381 -Problem: MS-Windows: crash with Python 3.5 when stdin is redirected. -Solution: Reconnect stdin. (Yasuhiro Matsumoto, Ken Takata, closes #6641) -Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/if_python3.c - -Patch 8.2.1382 -Problem: Vim9: using :import in filetype plugin gives an error. -Solution: Allow commands with the EX_LOCK_OK flag. (closes #6636) -Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1383 -Problem: Test 49 is old style. -Solution: Convert test cases to new style. (Yegappan Lakshmanan, - closes #6638) -Files: src/testdir/test49.ok, src/testdir/test49.vim, - src/testdir/test_vimscript.vim - -Patch 8.2.1384 -Problem: No ATTENTION prompt for :vimgrep first match file. -Solution: When there is an existing swap file do not keep the dummy buffer. - (closes #6649) -Files: src/quickfix.c, src/testdir/runtest.vim, - src/testdir/test_quickfix.vim - -Patch 8.2.1385 -Problem: No testing on ARM. -Solution: Add a test on Travis for ARM. (Ozaki Kiichi, closes #6615) -Files: .travis.yml - -Patch 8.2.1386 -Problem: Backslash not removed after space in option with space in - 'isfname'. -Solution: Do remove backslash before space, also when it is in 'isfname'. - (Yasuhiro Matsumoto, closes #6651) -Files: src/option.c, src/testdir/test_options.vim - -Patch 8.2.1387 -Problem: Vim9: cannot assign to single letter variable with type. -Solution: Exclude the colon from the variable name. (closes #6647) -Files: src/eval.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1388 -Problem: Vim9: += only works for numbers. -Solution: Use += as concatenate for a list. (closes #6646) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1389 -Problem: File missing from the distribution. -Solution: Add script_util.vim to the list of distributes files. -Files: Filelist - -Patch 8.2.1390 -Problem: Vim9: type error after storing an option value. -Solution: Drop the type after a STOREOPT instruction. (closes #6632) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1391 -Problem: Vim9: no error for shadowing a script function. -Solution: Check for already defined items. (closes #6652) -Files: src/vim9compile.c, src/testdir/test_vim9_script.vim - -Patch 8.2.1392 -Problem: Vim9: error line number incorrect after skipping over comment - lines. -Solution: Insert empty lines for skipped lines. -Files: src/userfunc.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1393 -Problem: Insufficient testing for script debugging. -Solution: Add more tests. (Ben Jackson) -Files: src/testdir/test_debugger.vim - -Patch 8.2.1394 -Problem: Vim9: compiling a function interferes with command modifiers. -Solution: Save and restore command modifiers. (closes #6658) -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_script.vim - -Patch 8.2.1395 -Problem: Vim9: no error if declaring a funcref with a lower case letter. -Solution: Check the name after the type is inferred. Fix confusing name. -Files: src/vim9compile.c, src/dict.c, src/eval.c, src/evalvars.c, - src/proto/evalvars.pro, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_expr.vim - -Patch 8.2.1396 -Problem: Vim9: no error for unexpectedly returning a value. -Solution: Only set the return type for lambda's. Make using function type - in a function reference work. -Files: src/vim9compile.c, src/testdir/test_vim9_func.vim - -Patch 8.2.1397 -Problem: Vim9: return type of maparg() not adjusted for fourth argument. -Solution: Check if fourth argument is present. (closes #6645) -Files: src/evalfunc.c, src/testdir/test_maparg.vim - -Patch 8.2.1398 -Problem: Autoload script sourced twice if sourced directly. -Solution: Do not source an autoload script again. (issue #6644) -Files: src/scriptfile.c, src/testdir/sautest/autoload/sourced.vim - -Patch 8.2.1399 -Problem: Vim9: may find imported item in wrong script. -Solution: When looking up script-local function use the embedded script ID. - (issue #6644) -Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, - src/testdir/test_vim9_script.vim - -Patch 8.2.1400 -Problem: Vim9: test does not delete written files. -Solution: Correct file names. -Files: src/testdir/test_vim9_script.vim - - +Patch 8.2.0001 and later can be found at |patches-after-8.2|. vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt new file mode 100644 index 000000000..ca0bbbca7 --- /dev/null +++ b/runtime/doc/version9.txt @@ -0,0 +1,26799 @@ +*version9.txt* For Vim version 8.2. Last change: 2022 Feb 26 + + + VIM REFERENCE MANUAL by Bram Moolenaar + + + *vim-9.0* *vim-9* *version-9.0* *version9.0* +Welcome to Vim 9! Several years have passed since the previous release. +A large number of bugs have been fixed, many nice features have been added +and Vim9 script syntax is introduced. This file mentions all the new items +and changes to existing features since Vim 8.2.0. The patches up to Vim 8.2 +can be found here: |vim-8.2|. + +Use this command to see the full version and features information of the Vim +program you are using: > + :version + +NEW FEATURES |new-9| + Vim script enhancements |new-vim-script-9| + Various new items |new-items-9| + +INCOMPATIBLE CHANGES |incompatible-9| + +IMPROVEMENTS |improvements-9| + +COMPILE TIME CHANGES |compile-changes-9| + +PATCHES |patches-9| + + +See |vi_diff.txt| for an overview of differences between Vi and Vim 9.0. +See |version4.txt|, |version5.txt|, |version6.txt|, |version7.txt| and +|version8.txt| for differences between Vim versions. + +You can find an overview of the most important changes (according to Martin +Tournoij) on this site: https://www.arp242.net/vimlog/ + + +Vim version 9.0 is dedicated to Sven Guckes, who passed away in February 2022 +when the release was being prepared. Sven was a long time supporter of Vim. +He registered the vim.org domain and created the first Vim website. We will +remember him! + +============================================================================== +NEW FEATURES *new-9* + +First an overview of the more interesting new features. A comprehensive list +is below. + + +Vim9 script ~ + *new-vim-script-9* +The Vim script language has been changed step by step over many years, +preserving backwards compatibility. Several choices made in early days got in +the way of making it work better. At the same time, Vim script is being used +much more often, since there are so many plugins being used. + +Vim9 script provides a syntax that is much more similar to other languages. +In other words: "less weird". Compiled functions are introduced which allow +for a large speed improvement. You can expect around ten times faster +execution. The price to pay is that Vim9 script is not backwards compatible. +But don't worry, you can still use your old scripts, the new script language +is added, it does not replace the legacy script. + +All the information about Vim9 script can be found in the |Vim9| help file. + + +Various new items *new-items-9* +----------------- + +TODO + + +New runtime files: ~ + +Too many to list here. + +============================================================================== +INCOMPATIBLE CHANGES *incompatible-9* + +These changes are incompatible with previous releases. Check this list if you +run into a problem when upgrading from Vim 8.2.0 to 9.0. + +TODO + +============================================================================== +IMPROVEMENTS *improvements-9* + +TODO + +============================================================================== +COMPILE TIME CHANGES *compile-changes-9* + +TODO + +============================================================================== +PATCHES *patches-9* *bug-fixes-9* + *patches-after-8.2* + +The list of patches that got included since 8.2.0. This includes all the new +features, but does not include runtime file changes (syntax, indent, help, +etc.) + +Patch 8.2.0001 +Problem: #endif comments do not reflect corresponding #ifdef. +Solution: Update the comments. (Rene Nyffenegger, closes #5351) +Files: src/ui.c + +Patch 8.2.0002 +Problem: "dj" only deletes first line of closed fold. +Solution: Adjust last line of operator for linewise motion. (closes #5354) +Files: src/ops.c, src/testdir/test_fold.vim + +Patch 8.2.0003 +Problem: Build file dependencies are incomplete. +Solution: Fix the dependencies. (Ken Takata, closes #5356) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile + +Patch 8.2.0004 +Problem: Get E685 and E931 if buffer reload is interrupted. +Solution: Do not abort deleting a dummy buffer. (closes #5361) +Files: src/buffer.c, src/proto/buffer.pro, src/testdir/test_trycatch.vim, + src/ex_cmds.c, src/ex_getln.c, src/misc2.c, src/quickfix.c, + src/window.c, src/vim.h + +Patch 8.2.0005 +Problem: Duplication in version info. +Solution: Use preprocessor string concatenation. (Ken Takata, closes #5357) +Files: src/version.h + +Patch 8.2.0006 +Problem: Test using long file name may fail. (Vladimir Lomov) +Solution: Limit the name length. (Christian Brabandt, closes #5358) +Files: src/testdir/test_display.vim + +Patch 8.2.0007 +Problem: Popup menu positioned wrong with folding in two tabs. +Solution: Update the cursor line height. (closes #5353) +Files: src/move.c, src/proto/move.pro, src/popupmenu.c, + src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_pum_with_folds_two_tabs.dump + +Patch 8.2.0008 +Problem: Test72 is old style. +Solution: Convert to new style test. (Yegappan Lakshmanan, closes #5362) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test72.in, src/testdir/test72.ok, + src/testdir/test_undo.vim + +Patch 8.2.0009 +Problem: VMS: terminal version doesn't build. +Solution: Move MIN definition. Adjust #ifdefs. (Zoltan Arpadffy) +Files: src/bufwrite.c, src/fileio.c, src/ui.c, src/xxd/Make_vms.mms + +Patch 8.2.0010 +Problem: Test64 is old style. +Solution: Convert to new style test. (Yegappan Lakshmanan, closes #5363) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test64.in, src/testdir/test64.ok, + src/testdir/test95.in, src/testdir/test_regexp_latin.vim + +Patch 8.2.0011 +Problem: Screen updating wrong when opening preview window. +Solution: Redraw the window when the preview window opens. +Files: src/popupmenu.c, src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_pum_with_preview_win.dump + +Patch 8.2.0012 +Problem: Some undo functionality is not tested. +Solution: Add a few more test cases. (Dominique Pellé, closes #5364) +Files: src/testdir/test_undo.vim + +Patch 8.2.0013 +Problem: Not using a typedef for condstack. +Solution: Add a typedef. +Files: src/structs.h, src/ex_docmd.c, src/ex_eval.c, src/userfunc.c, + src/ex_cmds.h, src/proto/ex_eval.pro + +Patch 8.2.0014 +Problem: Test69 and test95 are old style. +Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5365) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test69.in, src/testdir/test69.ok, + src/testdir/test95.in, src/testdir/test95.ok, + src/testdir/test_regexp_utf8.vim, src/testdir/test_textformat.vim + +Patch 8.2.0015 +Problem: Not all modeline variants are tested. +Solution: Add modeline tests. (Dominique Pellé, closes #5369) +Files: src/testdir/test_modeline.vim + +Patch 8.2.0016 +Problem: Test name used twice, option not restored properly. +Solution: Rename function, restore option with "&". +Files: src/testdir/test_textformat.vim + +Patch 8.2.0017 +Problem: OS/2 and MS-DOS are still mentioned, even though support was + removed long ago. +Solution: Update documentation. (Yegappan Lakshmanan, closes #5368) +Files: runtime/doc/autocmd.txt, runtime/doc/change.txt, + runtime/doc/cmdline.txt, runtime/doc/editing.txt, + runtime/doc/eval.txt, runtime/doc/gui.txt, runtime/doc/insert.txt, + runtime/doc/options.txt, runtime/doc/print.txt, + runtime/doc/quickfix.txt, runtime/doc/repeat.txt, + runtime/doc/starting.txt, runtime/doc/usr_01.txt, + runtime/doc/usr_05.txt, runtime/doc/usr_41.txt, + runtime/doc/vi_diff.txt, runtime/gvimrc_example.vim, + runtime/tools/README.txt, runtime/vimrc_example.vim, src/feature.h + +Patch 8.2.0018 +Problem: :join does not add white space where it should. (Zdenek Dohnal) +Solution: Handle joining multiple lines properly. +Files: src/ops.c, src/testdir/test_join.vim + +Patch 8.2.0019 +Problem: Cannot get number of lines of another buffer. +Solution: Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto, + closes #5370) +Files: src/evalbuffer.c, src/testdir/test_bufwintabinfo.vim, + runtime/doc/eval.txt + +Patch 8.2.0020 +Problem: Mouse clicks in the command line not tested. +Solution: Add tests. (Dominique Pellé, closes #5366) +Files: src/testdir/test_termcodes.vim + +Patch 8.2.0021 +Problem: Timer test fails too often on Travis with MacOS. +Solution: Be less strict with the time. +Files: src/testdir/test_timers.vim + +Patch 8.2.0022 +Problem: Click in popup window doesn't close it in the GUI. (Sergey Vlasov) +Solution: When processing the selection also send a button release event. + (closes #5367) +Files: src/gui.c + +Patch 8.2.0023 +Problem: Command line editing not sufficiently tested. +Solution: Add more tests. (Dominique Pellé, closes #5374) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim + +Patch 8.2.0024 +Problem: Filetype Rego not recognized. +Solution: Add *.rego. (Matt Dunford, closes #5376) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0025 +Problem: Repeated word in comment. +Solution: Remove one. (Rene Nyffenegger, closes #5384) +Files: src/structs.h + +Patch 8.2.0026 +Problem: Still some /* */ comments. +Solution: Convert to // comments. +Files: src/message.c, src/message_test.c, src/misc1.c, src/misc2.c, + src/move.c + +Patch 8.2.0027 +Problem: Still some /* */ comments. +Solution: Convert to // comments. +Files: src/iid_ole.c, src/indent.c, src/insexpand.c, src/iscygpty.c, + src/version.c + +Patch 8.2.0028 +Problem: Searchpairpos() is not tested. +Solution: Add tests. Also improve searchpair() testing. (Dominique Pellé, + closes #5388) +Files: src/testdir/test_search.vim + +Patch 8.2.0029 +Problem: MS-Windows: crash with empty job command. +Solution: Check for NULL result. (Yasuhiro Matsumoto, closes #5390) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0030 +Problem: "gF" does not work on output of "verbose command". +Solution: Recognize " line " and translations. (closes #5391) +Files: src/globals.h, src/eval.c, src/findfile.c, src/testdir/test_gf.vim + +Patch 8.2.0031 (after 8.2.0029) +Problem: MS-Windows: test for empty job fails +Solution: Check for error message, make it also fail on Unix. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0032 (after 8.2.0031) +Problem: MS-Windows: test for blank job fails +Solution: Check before escaping. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0033 +Problem: Crash when make_extmatch() runs out of memory. +Solution: Check for NULL. (Dominique Pellé, closes #5392) +Files: src/regexp_bt.c, src/regexp_nfa.c + +Patch 8.2.0034 +Problem: Missing check for out of memory. +Solution: Check for NULL after vim_strsave(). (Dominique Pellé, + closes #5393) +Files: src/filepath.c + +Patch 8.2.0035 +Problem: Saving and restoring called_emsg is clumsy. +Solution: Count the number of error messages. +Files: src/message.c, src/buffer.c, src/channel.c, src/drawscreen.c, + src/ex_cmds2.c, src/gui.c, src/highlight.c, src/main.c, + src/regexp.c, src/search.c, src/testing.c, src/globals.h + +Patch 8.2.0036 +Problem: Not enough test coverage for match functions. +Solution: Add a few more test cases. (Dominique Pellé, closes #5394) + Add error number. +Files: src/testdir/test_match.vim + +Patch 8.2.0037 +Problem: Missing renamed message. +Solution: Now really add the error number. +Files: src/highlight.c + +Patch 8.2.0038 +Problem: Spell suggestions insufficiently tested. +Solution: Add spell suggestion tests. (Dominique Pellé, closes #5398) +Files: src/testdir/test_spell.vim + +Patch 8.2.0039 +Problem: Memory access error when "z=" has no suggestions. +Solution: Check for negative index. +Files: src/testdir/test_spell.vim, src/spellsuggest.c + +Patch 8.2.0040 +Problem: Timers test is still flaky on Travis for Mac. +Solution: Run separately instead of as part of test_alot. +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.2.0041 +Problem: Leaking memory when selecting spell suggestion. +Solution: Free previous value at the right time. +Files: src/spellsuggest.c + +Patch 8.2.0042 +Problem: Clearing funccal values twice. +Solution: Remove clearing individual fields. +Files: src/userfunc.c + +Patch 8.2.0043 +Problem: Timers test is still flaky on Travis for Mac. +Solution: Increase maximum expected time. +Files: src/testdir/test_timers.vim + +Patch 8.2.0044 +Problem: Expression type is used inconsistently. +Solution: Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values. Rename + "TYPE_" to "ETYPE_" to avoid confusion. +Files: src/structs.h, src/eval.c, src/proto/eval.pro, src/debugger.c + +Patch 8.2.0045 (after 8.2.0044) +Problem: Script test fails. +Solution: For numbers "is" and "isnot" work like "==" and "!=". +Files: src/eval.c + +Patch 8.2.0046 +Problem: Tests for spell suggestions are slow. +Solution: Use shorter words. Test with latin1 and utf-8 to cover more code. + (Dominique Pellé, closes #5399) +Files: src/testdir/test_spell.vim + +Patch 8.2.0047 +Problem: Cannot skip tests for specific MS-Windows platform. +Solution: Add windowsversion(). +Files: src/os_win32.c, src/globals.h, src/evalfunc.c, + runtime/doc/eval.txt, src/testdir/gen_opt_test.vim, + src/testdir/test_options.vim + +Patch 8.2.0048 +Problem: Another timers test is flaky on Travis for Mac. +Solution: Increase maximum expected time. +Files: src/testdir/test_timers.vim + +Patch 8.2.0049 +Problem: Command line completion not fully tested. +Solution: Add more test cases. Make help sorting stable. (Dominique Pellé, + closes #5402) +Files: src/ex_cmds.c, src/testdir/test_cd.vim, + src/testdir/test_cmdline.vim, src/testdir/test_help.vim, + src/testdir/test_menu.vim, src/testdir/test_options.vim, + src/testdir/test_syntax.vim + +Patch 8.2.0050 +Problem: After deleting a file mark it is still in viminfo. +Solution: When a file mark was deleted more recently than the mark in the + merged viminfo file was updated, do not store the mark. (Pavol + Juhas, closes #5401, closes #1339) +Files: src/mark.c, src/testdir/test_marks.vim, + src/testdir/test_viminfo.vim, src/viminfo.c + +Patch 8.2.0051 (after 8.2.0049) +Problem: Command line completion test skipped. (Christian Brabandt) +Solution: Invert condition. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.0052 +Problem: More-prompt not properly tested. +Solution: Add a test case. (Dominique Pellé, closes #5404) +Files: src/testdir/test_messages.vim + +Patch 8.2.0053 +Problem: windowsversion() does not always return the right value. +Solution: Add a compatibility section in the manifest. (Ken Takata, + closes #5407) +Files: src/gvim.exe.mnf + +Patch 8.2.0054 +Problem: :diffget and :diffput don't have good completion. +Solution: Add proper completion. (Dominique Pellé, closes #5409) +Files: runtime/doc/eval.txt, src/buffer.c, src/cmdexpand.c, + src/testdir/test_diffmode.vim, src/usercmd.c, src/vim.h + +Patch 8.2.0055 +Problem: Cannot use ":gui" in vimrc with VIMDLL enabled. +Solution: Change the logic, check "gui.starting". (Ken Takata, closes #5408) +Files: src/gui.c + +Patch 8.2.0056 +Problem: Execution stack is incomplete and inefficient. +Solution: Introduce a proper execution stack and use it instead of + sourcing_name/sourcing_lnum. Create a string only when used. +Files: src/structs.h, src/globals.h, src/autocmd.c, src/buffer.c + src/debugger.c, src/ex_docmd.c, src/ex_eval.c, src/highlight.c, + src/main.c, src/map.c, src/message.c, src/proto/scriptfile.pro, + src/scriptfile.c, src/option.c, src/profiler.c, src/spellfile.c, + src/term.c, src/testing.c, src/usercmd.c, src/userfunc.c, + src/kword_test.c, src/testdir/test_debugger.vim + +Patch 8.2.0057 (after 8.2.0056) +Problem: Cannot build with small features. +Solution: Add #ifdefs. +Files: src/scriptfile.c + +Patch 8.2.0058 +Problem: Running tests changes ~/.viminfo. +Solution: Make 'viminfo' empty when summarizing tests results. (closes #5414) +Files: src/testdir/summarize.vim + +Patch 8.2.0059 +Problem: Compiler warnings for unused variables in small build. (Tony + Mechelynck) +Solution: Add #ifdef. +Files: src/scriptfile.c + +Patch 8.2.0060 +Problem: Message test only runs with one encoding. (Dominique Pellé) +Solution: Run the test with "utf-8" and "latin1". Fix underflow. (related + to #5410) +Files: src/message_test.c, src/message.c + +Patch 8.2.0061 +Problem: The execute stack can grow big and never shrinks. +Solution: Reduce the size in garbage collect. +Files: src/eval.c + +Patch 8.2.0062 +Problem: Memory test is flaky on FreeBSD. +Solution: Add a short sleep before getting the first size. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.0063 +Problem: Wrong size argument to vim_snprintf(). (Dominique Pellé) +Solution: Reduce the size by the length. (related to #5410) +Files: src/ops.c + +Patch 8.2.0064 +Problem: Diffmode completion doesn't use per-window setting. +Solution: Check if a window is in diff mode. (Dominique Pellé, closes #5419) +Files: src/buffer.c, src/testdir/test_diffmode.vim + +Patch 8.2.0065 +Problem: Amiga and alikes: autoopen only used on Amiga OS4. +Solution: Adjust #ifdefs. (Ola Söder, closes #5413) +Files: src/os_amiga.c + +Patch 8.2.0066 +Problem: Some corners of vim_snprintf() are not tested. +Solution: Add a test in C. (Dominique Pellé, closes #5422) +Files: src/message_test.c + +Patch 8.2.0067 +Problem: ERROR_UNKNOWN clashes on some systems. +Solution: Rename ERROR_ to FCERR_. (Ola Söder, closes #5415) +Files: src/evalfunc.c, src/userfunc.c, src/vim.h + +Patch 8.2.0068 +Problem: Crash when using Python 3 with "utf32" encoding. (Dominique Pellé) +Solution: Use "utf-8" whenever enc_utf8 is set. (closes #5423) +Files: src/testdir/test_python3.vim, src/if_py_both.h + +Patch 8.2.0069 +Problem: ETYPE_ is used for two different enums. +Solution: Rename one to use EXPR_. +Files: src/structs.h, src/eval.c, src/debugger.c + +Patch 8.2.0070 +Problem: Crash when using Python 3 with "debug" encoding. (Dominique Pellé) +Solution: Use "euc-jp" whenever enc_dbcs is set. +Files: src/testdir/test_python3.vim, src/if_py_both.h + +Patch 8.2.0071 +Problem: Memory test often fails on Cirrus CI. +Solution: Allow for more tolerance in the upper limit. Remove sleep. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.0072 (after 8.2.0071) +Problem: Memory test still fails on Cirrus CI. +Solution: Allow for a tiny bit more tolerance in the upper limit. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.0073 +Problem: Initializing globals with COMMA is clumsy. +Solution: Use INIT2(), INIT3(), etc. +Files: src/vim.h, src/globals.h + +Patch 8.2.0074 +Problem: Python 3 unicode test sometimes fails. +Solution: Make 'termencoding' empty. Correct number of error message. +Files: src/change.c, runtime/doc/options.txt, runtime/doc/message.txt, + src/testdir/test_python3.vim + +Patch 8.2.0075 +Problem: Python 3 unicode test still sometimes fails. +Solution: Skip the test when 'termencoding' is not empty. +Files: src/testdir/test_python3.vim + +Patch 8.2.0076 +Problem: Python 3 unicode test fails on MS-Windows. +Solution: Do not set 'encoding' to "debug" on MS-Windows. +Files: src/testdir/test_python3.vim + +Patch 8.2.0077 +Problem: settagstack() cannot truncate at current index. +Solution: Add the "t" action. (Yegappan Lakshmanan, closes #5417) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/tag.c, + src/testdir/test_tagjump.vim + +Patch 8.2.0078 +Problem: Expanding <sfile> works differently the second time. +Solution: Keep the expanded name when redefining a function. (closes #5425) +Files: src/testdir/test_vimscript.vim, src/userfunc.c + +Patch 8.2.0079 +Problem: Python 3 unicode test still fails on MS-Windows. +Solution: Do not set 'encoding' to "euc-tw" on MS-Windows. +Files: src/testdir/test_python3.vim + +Patch 8.2.0080 +Problem: Globals using INIT4() are not in the tags file. +Solution: Adjust the tags command. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0081 +Problem: MS-Windows also need the change to support INIT4(). +Solution: Add the ctags arguments. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.0082 +Problem: When reusing a buffer listeners are not cleared. (Axel Forsman) +Solution: Clear listeners when reusing a buffer. (closes #5431) +Files: src/testdir/test_listener.vim, src/buffer.c + +Patch 8.2.0083 +Problem: Text properties wrong when tabs and spaces are exchanged. +Solution: Take text properties into account. (Nobuhiro Takasaki, + closes #5427) +Files: src/edit.c, src/testdir/test_textprop.vim + +Patch 8.2.0084 +Problem: Complete item "user_data" can only be a string. +Solution: Accept any type of variable. (closes #5412) +Files: src/testdir/test_ins_complete.vim, src/insexpand.c, src/dict.c, + src/proto/dict.pro, src/eval.c, runtime/doc/insert.txt + +Patch 8.2.0085 +Problem: Dead code in builtin functions. +Solution: Clean up the code. +Files: src/evalvars.c, src/sound.c, src/textprop.c + +Patch 8.2.0086 (after 8.2.0084) +Problem: Build error for small version. (Tony Mechelynck) +Solution: Only use "user_data" with the +eval feature. Remove unused + variable. +Files: src/insexpand.c, src/dict.c + +Patch 8.2.0087 +Problem: Crash in command line expansion when out of memory. +Solution: Check for NULL pointer. Also make ExpandGeneric() static. + (Dominique Pellé, closes #5437) +Files: src/cmdexpand.c, src/proto/cmdexpand.pro + +Patch 8.2.0088 +Problem: Insufficient tests for tags; bug in using extra tag field when + using an ex command to position the cursor. +Solution: Fix the bug, add more tests. (Yegappan Lakshmanan, closes #5439) +Files: runtime/doc/tagsrch.txt, src/tag.c, + src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim + +Patch 8.2.0089 +Problem: Crash when running out of memory in :setfiletype completion. +Solution: Do not allocate memory. (Dominique Pellé, closes #5438) +Files: src/cmdexpand.c + +Patch 8.2.0090 +Problem: Generated files show up in git status. +Solution: Ignore a few more files. +Files: .gitignore + +Patch 8.2.0091 +Problem: Compiler warnings for size_t / int types. +Solution: Change type to size_t. (Mike Williams) +Files: src/scriptfile.c + +Patch 8.2.0092 +Problem: Tags functionality insufficiently tested. +Solution: Add more tags tests. (Yegappan Lakshmanan, closes #5446) +Files: src/testdir/test_tagjump.vim + +Patch 8.2.0093 +Problem: win_splitmove() can make Vim hang. +Solution: Check windows exists in the current tab page. (closes #5444) +Files: src/testdir/test_window_cmd.vim, src/evalwindow.c + +Patch 8.2.0094 +Problem: MS-Windows: cannot build with Strawberry Perl 5.30. +Solution: Define __builtin_expect() as a workaround. (Ken Takata, + closes #5267) +Files: src/if_perl.xs + +Patch 8.2.0095 +Problem: Cannot specify exit code for :cquit. +Solution: Add optional argument. (Thinca, Yegappan Lakshmanan, closes #5442) +Files: runtime/doc/quickfix.txt, src/ex_cmds.h, src/ex_docmd.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0096 +Problem: Cannot create tiny popup window in last column. (Daniel Steinberg) +Solution: Remove position limit. (closes #5447) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.2.0097 +Problem: Crash with autocommand and spellfile. (Tim Pope) +Solution: Do not pop exestack when not pushed. (closes #5450) +Files: src/testdir/test_autocmd.vim, src/spellfile.c + +Patch 8.2.0098 +Problem: Exe stack length can be wrong without being detected. +Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined. +Files: src/macros.h, src/autocmd.c, src/buffer.c, src/ex_docmd.c, + src/main.c, src/map.c, src/scriptfile.c, src/spellfile.c, + src/userfunc.c + +Patch 8.2.0099 +Problem: Use of NULL pointer when out of memory. +Solution: Check for NULL pointer. (Dominique Pellé, closes #5449) +Files: src/cmdexpand.c + +Patch 8.2.0100 +Problem: Macros for Ruby are too complicated. +Solution: Do not use DYNAMIC_RUBY_VER, use RUBY_VERSION. (Ken Takata, + closes #5452) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/configure.ac, src/if_ruby.c + +Patch 8.2.0101 +Problem: Crash when passing null object to ":echomsg". +Solution: Check for NULL pointer. (Yasuhiro Matsumoto, closes #5460) +Files: src/eval.c, src/testdir/test_messages.vim + +Patch 8.2.0102 +Problem: Messages test fails in small version. +Solution: Only use test_null_job() when available. +Files: src/testdir/test_messages.vim + +Patch 8.2.0103 +Problem: Using null object with execute() has strange effects. +Solution: Give an error message for Job and Channel. +Files: src/testdir/test_execute_func.vim, src/globals.h, src/eval.c, + src/evalfunc.c + +Patch 8.2.0104 +Problem: Using channel or job with ":execute" has strange effects. +Solution: Give an error message for Job and Channel. +Files: src/testdir/test_eval_stuff.vim, src/eval.c + +Patch 8.2.0105 +Problem: Vim license not easy to find on github. +Solution: Add a separate LICENCE file. (closes #5458) +Files: LICENSE, Filelist + +Patch 8.2.0106 +Problem: Printf formats are not exactly right. +Solution: Adjust signed/unsigned conversions. (Frazer Clews, closes #5456) +Files: runtime/tools/ccfilter.c, src/libvterm/src/parser.c, + src/libvterm/src/pen.c, src/ui.c + +Patch 8.2.0107 +Problem: Hgignore is out of sync from gitignore. +Solution: Add lines to hgignore. (Ken Takata) +Files: .hgigmore + +Patch 8.2.0108 +Problem: When sign text is changed a manual redraw is needed. (Pontus + Lietzler) +Solution: Redraw automatically. (closes #5455) +Files: src/testdir/test_signs.vim, src/sign.c, + src/testdir/dumps/Test_sign_cursor_1.dump, + src/testdir/dumps/Test_sign_cursor_2.dump, + src/testdir/dumps/Test_sign_cursor_3.dump, + src/testdir/dumps/Test_sign_cursor_01.dump, + src/testdir/dumps/Test_sign_cursor_02.dump + +Patch 8.2.0109 +Problem: Corrupted text properties when expanding spaces. +Solution: Reallocate the line. (Nobuhiro Takasaki, closes #5457) +Files: src/edit.c, src/testdir/test_textprop.vim + +Patch 8.2.0110 +Problem: prop_find() is not implemented. +Solution: Implement prop_find(). (Ryan Hackett, closes #5421, closes #4970) +Files: src/evalfunc.c, src/proto/textprop.pro, + src/testdir/test_textprop.vim, src/textprop.c, + runtime/doc/textprop.txt + +Patch 8.2.0111 +Problem: VAR_SPECIAL is also used for booleans. +Solution: Add VAR_BOOL for better type checking. +Files: src/structs.h, src/dict.c, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/if_lua.c, src/if_mzsch.c, src/if_py_both.h, + src/if_ruby.c, src/json.c, src/popupmenu.c, src/proto/dict.pro, + src/testing.c, src/vim.h, src/viminfo.c + +Patch 8.2.0112 +Problem: Illegal memory access when using 'cindent'. +Solution: Check for NUL byte. (Dominique Pellé, closes #5470) +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.0113 (after 8.2.0095) +Problem: "make cmdidxs" fails. +Solution: Allow address for ":cquit". Add --not-a-term to avoid a delay. +Files: src/ex_cmds.h, src/Makefile, src/Make_cyg_ming.mak, + src/Make_mvc.mak + +Patch 8.2.0114 +Problem: Info about sourced scripts is scattered. +Solution: Use scriptitem_T for info about a script, including s: variables. + Drop ga_scripts. +Files: src/structs.h, src/evalvars.c, src/scriptfile.c, src/eval.c + +Patch 8.2.0115 +Problem: Byte2line() does not work correctly with text properties. (Billie + Cleek) +Solution: Take the bytes of the text properties into account. + (closes #5334) +Files: src/testdir/test_textprop.vim, src/memline.c + +Patch 8.2.0116 +Problem: BufEnter autocmd not triggered on ":tab drop". (Andy Stewart) +Solution: Decrement autocmd_no_enter for the last file. (closes #1660, + closes #5473) +Files: src/arglist.c, src/testdir/test_tabpage.vim + +Patch 8.2.0117 +Problem: Crash when using gettabwinvar() with invalid arguments. (Yilin + Yang) +Solution: Use "curtab" if "tp" is NULL. (closes #5475) +Files: src/evalwindow.c, src/testdir/test_getvar.vim + +Patch 8.2.0118 +Problem: Crash when cycling to buffers involving popup window . +Solution: Do not decrement buffer reference count. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_7.dump + +Patch 8.2.0119 +Problem: Message test fails on some platforms. (Elimar Riesebieter) +Solution: Add type cast to vim_snprintf() argument. (Dominique Pellé) +Files: src/message_test.c + +Patch 8.2.0120 +Problem: virtcol() does not check arguments to be valid, which may lead to + a crash. +Solution: Check the column to be valid. Do not decrement MAXCOL. + (closes #5480) +Files: src/evalfunc.c, src/testdir/test_marks.vim + +Patch 8.2.0121 +Problem: filter() and map() on blob don't work. +Solution: Correct the code. (closes #5483) +Files: src/list.c, src/testdir/test_blob.vim + +Patch 8.2.0122 +Problem: Readme files still mention MS-DOS. +Solution: Update readme files. (Ken Takata, closes #5486) +Files: README.md, README.txt, READMEdir/README_dos.txt, + READMEdir/README_srcdos.txt, READMEdir/README_w32s.txt, + runtime/doc/os_win32.txt + +Patch 8.2.0123 +Problem: complete_info() does not work when CompleteDone is triggered. +Solution: Trigger CompleteDone before clearing the info. +Files: src/insexpand.c, runtime/doc/autocmd.txt, + src/testdir/test_ins_complete.vim + +Patch 8.2.0124 +Problem: Compiler warnings for variable types. +Solution: Change type, add type cast. (Mike Williams) +Files: src/memline.c + +Patch 8.2.0125 +Problem: :mode no longer works for any system. +Solution: Always give an error message. +Files: src/ex_docmd.c, runtime/doc/quickref.txt, src/os_amiga.c, + src/proto/os_amiga.pro, src/os_mswin.c, src/proto/os_mswin.pro, + src/os_unix.c, src/proto/os_unix.pro + +Patch 8.2.0126 (after 8.2.0124) +Problem: Textprop test fails. +Solution: Fix sign in computation. +Files: src/memline.c + +Patch 8.2.0127 +Problem: Some buffer commands work in a popup window. +Solution: Disallow :bnext, :bprev, etc. (Naruhiko Nishino, closes #5494) +Files: src/ex_docmd.c, src/testdir/test_popupwin.vim + +Patch 8.2.0128 +Problem: Cannot list options one per line. +Solution: Use ":set!" to list one option per line. +Files: src/ex_docmd.c, src/option.c, src/proto/option.pro, src/vim.h, + src/ex_cmds.h, src/optiondefs.h, src/testdir/test_options.vim, + runtime/doc/options.txt + +Patch 8.2.0129 +Problem: MS-Windows installer doesn't use Turkish translations. +Solution: Enable the Turkish translations and fix a few. (Emir Sarı, + closes #5493) +Files: nsis/gvim.nsi, nsis/lang/turkish.nsi + +Patch 8.2.0130 +Problem: Python3 ranges are not tested. +Solution: Add test. (Dominique Pellé, closes #5498) +Files: src/testdir/test_python3.vim + +Patch 8.2.0131 +Problem: Command line is not cleared when switching tabs and the command + line height differs. +Solution: Set the "clear_cmdline" flag when needed. (Naruhiko Nishino, + closes #5495) +Files: src/testdir/dumps/Test_cmdlineclear_tabenter.dump, + src/testdir/test_cmdline.vim, src/window.c + +Patch 8.2.0132 +Problem: Script may be re-used when deleting and creating a new one. +Solution: When the inode matches, also check the file name. +Files: src/scriptfile.c, src/testdir/test_source.vim + +Patch 8.2.0133 +Problem: Invalid memory access with search command. +Solution: When :normal runs out of characters in bracketed paste mode break + out of the loop.(closes #5511) +Files: src/testdir/test_search.vim, src/edit.c + +Patch 8.2.0134 +Problem: Some map functionality not covered by tests. +Solution: Add tests. (Yegappan Lakshmanan, closes #5504) +Files: src/testdir/test_maparg.vim, src/testdir/test_mapping.vim + +Patch 8.2.0135 (after 8.2.0133) +Problem: Bracketed paste can still cause invalid memory access. (Dominique + Pellé) +Solution: Check for NULL pointer. +Files: src/edit.c, src/testdir/test_search.vim + +Patch 8.2.0136 +Problem: Stray ch_logfile() call. +Solution: Remove it. (closes #5503) +Files: src/testdir/test_source.vim + +Patch 8.2.0137 +Problem: Crash when using win_execute() from a new tab. +Solution: Set the tp_*win pointers. (Ozaki Kiichi, closes #5512) +Files: src/testdir/test_winbuf_close.vim, src/window.c + +Patch 8.2.0138 +Problem: Memory leak when starting a job fails. +Solution: Free the list of arguments. (Ozaki Kiichi, closes #5510) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0139 +Problem: MS-Windows: default for IME is inconsistent. +Solution: Also make IME default enabled with MVC. (Ken Takata, closes #5508) +Files: src/Make_mvc.mak + +Patch 8.2.0140 +Problem: CI does not test building doc tags. +Solution: Add the vimtags/gcc build. Cleanup showing version. (Ozaki Kiichi, + closes #5513) +Files: .travis.yml, Filelist, ci/if_ver-1.vim, ci/if_ver-2.vim, + ci/if_ver-cmd.vim, runtime/doc/Makefile, runtime/doc/doctags.vim, + src/testdir/if_ver-1.vim, src/testdir/if_ver-2.vim + +Patch 8.2.0141 +Problem: No swift filetype detection. +Solution: Add swift, swiftgyb and sil. (Emir Sarı, closes #5517) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0142 +Problem: Possible to enter popup window with CTRL-W p. (John Devin) +Solution: Check entered window is not a popup window. (closes #5515) +Files: src/window.c, src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_9.dump, + src/testdir/dumps/Test_popupwin_previewpopup_10.dump + +Patch 8.2.0143 +Problem: Coverity warning for possible use of NULL pointer. +Solution: Check argv is not NULL. +Files: src/channel.c + +Patch 8.2.0144 +Problem: Some mapping code is not fully tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5519) +Files: src/testdir/test_langmap.vim, src/testdir/test_maparg.vim, + src/testdir/test_mapping.vim + +Patch 8.2.0145 +Problem: Using #error for compilation errors should be OK now. +Solution: Use #error. (Ken Takata, closes #5299) +Files: src/blowfish.c, src/vim.h + +Patch 8.2.0146 +Problem: Wrong indent when 'showbreak' and 'breakindent' are set and + 'briopt' includes "sbr". +Solution: Reset "need_showbreak" where needed. (Ken Takata, closes #5523) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.2.0147 +Problem: Block Visual mode operators not correct when 'linebreak' set. +Solution: Set w_p_lbr to lbr_saved more often. (Ken Takata, closes #5524) +Files: src/ops.c, src/testdir/test_listlbr.vim + +Patch 8.2.0148 +Problem: Mapping related function in wrong source file. +Solution: Move the function. Add a few more test cases. (Yegappan + Lakshmanan, closes #5528) +Files: src/map.c, src/proto/term.pro, src/term.c, + src/testdir/test_mapping.vim + +Patch 8.2.0149 +Problem: Maintaining a Vim9 branch separately is more work. +Solution: Merge the Vim9 script changes. +Files: README.md, README_VIM9.md, runtime/doc/Makefile, + runtime/doc/eval.txt, runtime/doc/options.txt, runtime/doc/tags, + runtime/doc/vim9.txt, runtime/ftplugin/vim.vim, + runtime/indent/vim.vim, runtime/syntax/vim.vim, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, src/blob.c, + src/channel.c, src/dict.c, src/eval.c, src/evalbuffer.c, + src/evalfunc.c, src/evalvars.c, src/ex_cmdidxs.h, src/ex_cmds.h, + src/ex_docmd.c, src/ex_eval.c, src/filepath.c, src/globals.h, + src/gui.c, src/if_lua.c, src/if_py_both.h, src/insexpand.c, + src/json.c, src/list.c, src/macros.h, src/main.c, src/message.c, + src/misc1.c, src/proto.h, src/proto/blob.pro, src/proto/eval.pro, + src/proto/evalfunc.pro, src/proto/evalvars.pro, + src/proto/ex_docmd.pro, src/proto/ex_eval.pro, src/proto/list.pro, + src/proto/message.pro, src/proto/scriptfile.pro, + src/proto/userfunc.pro, src/proto/vim9compile.pro, + src/proto/vim9execute.pro, src/proto/vim9script.pro, + src/scriptfile.c, src/session.c, src/structs.h, src/syntax.c, + src/testdir/Make_all.mak, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, src/testing.c, src/userfunc.c, + src/vim.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/viminfo.c + +Patch 8.2.0150 +Problem: Cannot define python function when using :execute. (Yasuhiro + Matsumoto) +Solution: Do not recognize "def" inside "function. +Files: src/testdir/test_vim9_script.vim, src/userfunc.c + +Patch 8.2.0151 +Problem: Detecting a script was already sourced is unreliable. +Solution: Do not use the inode number. +Files: src/scriptfile.c, src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.0152 +Problem: Restoring ctrl_x_mode is not needed. +Solution: Remove restoring the old value, it's changed again soon. +Files: src/insexpand.c + +Patch 8.2.0153 +Problem: Warning shows when listing version info. +Solution: Use "-u NONE". (Ozaki Kiichi, closes #5534) +Files: .travis.yml + +Patch 8.2.0154 +Problem: Reallocating the list of scripts is inefficient. +Solution: Instead of using a growarray of scriptitem_T, store pointers and + allocate each scriptitem_T separately. Also avoids that the + growarray pointers change when sourcing a new script. +Files: src/globals.h, src/eval.c, src/evalvars.c, src/ex_docmd.c, + src/profiler.c, src/scriptfile.c, src/vim9compile.c, + src/vim9execute.c, src/vim9script.c + +Patch 8.2.0155 +Problem: Warnings from MinGW compiler. (John Marriott) Json test fails when + building without +float feature. +Solution: Init variables. Fix Json parsing. Skip a few tests that require + the +float feature. +Files: src/vim9script.c, src/vim9compile.c, src/vim9execute.c, + src/if_py_both.h, src/json.c, src/testdir/test_method.vim + +Patch 8.2.0156 +Problem: Various typos in source files and tests. +Solution: Fix the typos. (Emir Sarı, closes #5532) +Files: Makefile, src/INSTALLvms.txt, src/Make_vms.mms, src/beval.h, + src/buffer.c, src/charset.c, src/evalvars.c, src/ex_cmds.c, + src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_mac.c, + src/gui_photon.c, src/if_perl.xs, + src/libvterm/t/11state_movecursor.test, + src/libvterm/t/41screen_unicode.test, src/mbyte.c, src/memline.c, + src/normal.c, src/ops.c, src/option.c, src/option.h, + src/os_unix.c, src/os_win32.c, src/quickfix.c, src/register.c, + src/spell.c, src/tag.c, src/term.c, + src/testdir/test_breakindent.vim, src/testdir/test_channel.vim, + src/testdir/test_cindent.vim, src/testdir/test_digraph.vim, + src/testdir/test_edit.vim, src/testdir/test_netbeans.vim, + src/testdir/test_quickfix.vim, src/testdir/test_registers.vim, + src/testdir/test_stat.vim, src/ui.c, src/xxd/xxd.c + +Patch 8.2.0157 +Problem: Vim9 script files not in list of distributed files. +Solution: Add the entries. +Files: Filelist + +Patch 8.2.0158 (after 8.2.0123) +Problem: Triggering CompleteDone earlier is not backwards compatible. + (Daniel Hahler) +Solution: Add CompleteDonePre instead. +Files: src/insexpand.c, runtime/doc/autocmd.txt, src/autocmd.c, + src/vim.h, src/testdir/test_ins_complete.vim + +Patch 8.2.0159 +Problem: Non-materialized range() list causes problems. (Fujiwara Takuya) +Solution: Materialize the list where needed. +Files: src/testdir/test_functions.vim, src/testdir/test_python3.vim, + src/userfunc.c, src/evalfunc.c, src/highlight.c, src/evalvars.c, + src/popupmenu.c, src/insexpand.c, src/json.c, src/channel.c, + src/eval.c + +Patch 8.2.0160 (after 8.2.0159) +Problem: Range test fails. +Solution: Include change in list code. (#5541) +Files: src/list.c + +Patch 8.2.0161 +Problem: Not recognizing .gv file as dot filetype. +Solution: Add *.gv to dot pattern. (closes #5544) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0162 +Problem: Balloon test fails in the GUI. +Solution: Skip test in the GUI. +Files: src/testdir/test_functions.vim + +Patch 8.2.0163 +Problem: Test hangs on MS-Windows console. +Solution: use feedkeys() instead of test_feedinput(). (Ken Takata) +Files: src/testdir/test_functions.vim, src/testing.c + +Patch 8.2.0164 +Problem: Test_alot takes too long. +Solution: Run several tests individually. +Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak + +Patch 8.2.0165 +Problem: Coverity warning for using NULL pointer. +Solution: Add missing "else". +Files: src/vim9compile.c + +Patch 8.2.0166 +Problem: Coverity warning for using uninitialized variable. +Solution: Check for failure. +Files: src/vim9execute.c + +Patch 8.2.0167 +Problem: Coverity warning for ignoring return value. +Solution: Check the return value and jump if failed. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0168 +Problem: Coverity warning for assigning NULL to an option. +Solution: Use empty string instead of NULL. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0169 +Problem: Coverity warning for dead code. +Solution: Check if inside try-finally. +Files: src/vim9execute.c + +Patch 8.2.0170 +Problem: Coverity warning for ignoring return value. +Solution: Check the return value and return if failed. +Files: src/vim9compile.c + +Patch 8.2.0171 +Problem: Coverity warning for using uninitialized buffer. +Solution: Check the skip flag. +Files: src/userfunc.c + +Patch 8.2.0172 +Problem: Coverity warning for not restoring character. +Solution: Restore the character also in case of failure. +Files: src/vim9script.c + +Patch 8.2.0173 +Problem: Build fails with old compiler. +Solution: Do not use anonymous unions. (John Marriott) +Files: src/vim9compile.c, src/evalvars.c, src/list.c, src/structs.h, + src/evalfunc.c, src/channel.c, src/if_mzsch.c, src/if_py_both.h + +Patch 8.2.0174 +Problem: Various commands not completely tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5551) +Files: src/testdir/test_excmd.vim, src/testdir/test_fnameescape.vim, + src/testdir/test_ga.vim, src/testdir/test_global.vim, + src/testdir/test_move.vim, src/testdir/test_options.vim, + src/testdir/test_packadd.vim, src/testdir/test_sort.vim, + src/testdir/test_substitute.vim, src/testdir/test_textformat.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0175 +Problem: Crash when removing list element in map(). +Solution: Lock the list. (closes #2652) +Files: src/testdir/test_filter_map.vim, src/list.c + +Patch 8.2.0176 +Problem: Generating os headers does not work for Swedish. +Solution: Set the locale to C. (Christian Brabandt, closes #5258) +Files: src/osdef.sh + +Patch 8.2.0177 +Problem: Memory leak in get_tags(). +Solution: Free matches when finding a pseudo-tag line. (Dominique Pellé, + closes #5553) +Files: src/tag.c + +Patch 8.2.0178 +Problem: With VTP the screen may not be restored properly. +Solution: Add another set of saved RGB values. (Nobuhiro Takasaki, + closes #5548) +Files: src/os_win32.c + +Patch 8.2.0179 +Problem: Still a few places where range() does not work. +Solution: Fix using range() causing problems. +Files: src/terminal.c, src/testdir/test_functions.vim, + src/testdir/test_popupwin.vim, src/popupwin.c, src/tag.c, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump, + src/testdir/dumps/Test_popup_settext_07.dump, src/globals.h + +Patch 8.2.0180 +Problem: Test for wrapmargin fails if terminal is not 80 columns. +Solution: Vertical split the window. (Ken Takata, closes #5554) +Files: src/testdir/test_textformat.vim + +Patch 8.2.0181 +Problem: Problems parsing :term arguments. +Solution: Improve parsing, fix memory leak, add tests. (Ozaki Kiichi, + closes #5536) +Files: src/channel.c, src/proto/channel.pro, src/structs.h, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0182 +Problem: Min() and max() materialize a range() list. +Solution: Compute the result without materializing the list. (#5541) +Files: src/evalfunc.c + +Patch 8.2.0183 +Problem: Tests fail when the float feature is disabled. +Solution: Skip tests that don't work without float support. +Files: src/testdir/shared.vim, src/testdir/test_blob.vim, + src/testdir/test_channel.vim, src/testdir/test_cscope.vim, + src/testdir/test_execute_func.vim, src/testdir/test_expr.vim, + src/testdir/test_functions.vim, src/testdir/test_lambda.vim, + src/testdir/test_listdict.vim, src/testdir/test_lua.vim, + src/testdir/test_options.vim, src/testdir/test_partial.vim, + src/testdir/test_ruby.vim, src/testdir/test_sort.vim, + src/testdir/test_timers.vim, src/testdir/test_true_false.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vimscript.vim, src/testdir/test_regexp_latin.vim, + src/testdir/test_glob2regpat.vim + +Patch 8.2.0184 +Problem: Blob test fails. +Solution: Check for different error when float feature is missing. +Files: src/testdir/test_blob.vim + +Patch 8.2.0185 +Problem: Vim9 script: cannot use "if has()" to skip lines. +Solution: Evaluate constant expression at runtime. +Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0186 +Problem: A couple of tests may fail when features are missing. +Solution: Check for features. (Dominique Pellé, closes #5561) +Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim + +Patch 8.2.0187 +Problem: Redundant code. +Solution: Remove unused assignments. (Dominique Pellé, closes #5557) +Files: src/vim9compile.c + +Patch 8.2.0188 +Problem: Check commands don't work well with Vim9 script. +Solution: Improve constant expression handling. +Files: src/vim9compile.c, src/testdir/check.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0189 +Problem: cd() with NULL argument crashes. +Solution: Check for NULL. (Ken Takata, closes #5558) +Files: src/testdir/test_cd.vim, src/ex_docmd.c + +Patch 8.2.0190 +Problem: Kotlin files are not recognized. +Solution: Detect Kotlin files. (Alkeryn, closes #5560) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0191 +Problem: Cannot put a terminal in a popup window. +Solution: Allow opening a terminal in a popup window. It will always have + keyboard focus until closed. +Files: src/popupwin.c, src/proto/popupwin.pro, src/terminal.c, + src/proto/terminal.pro, src/macros.h, src/mouse.c, + src/highlight.c, src/drawline.c, src/optionstr.c, src/window.c, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump, + src/testdir/dumps/Test_terminal_popup_2.dump, + src/testdir/dumps/Test_terminal_popup_3.dump + +Patch 8.2.0192 (after 8.2.0191) +Problem: Build failure without +terminal feature. +Solution: Add #ifdefs. +Files: src/popupwin.c + +Patch 8.2.0193 (after 8.2.0191) +Problem: Still build failure without +terminal feature. +Solution: Add more #ifdefs. +Files: src/macros.h + +Patch 8.2.0194 (after 8.2.0193) +Problem: Some commands can cause problems in terminal popup. +Solution: Disallow more commands. +Files: src/macros.h, src/popupwin.c, src/proto/popupwin.pro, + src/arglist.c, src/ex_docmd.c, src/window.c, + src/testdir/test_terminal.vim + +Patch 8.2.0195 +Problem: Some tests fail when run in the GUI. +Solution: Make sure the window width is enough. In the GUI run terminal Vim + in the terminal, if possible. +Files: src/testdir/test_highlight.vim, src/testdir/check.vim, + src/testdir/test_terminal.vim + +Patch 8.2.0196 +Problem: Blocking commands for a finished job in a popup window. +Solution: Do not block commands if the job has finished. Adjust test. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/window.c, + src/terminal.c, src/proto/terminal.pro + +Patch 8.2.0197 +Problem: Some Ex commands not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5565) +Files: src/testdir/test_global.vim, src/testdir/test_help.vim, + src/testdir/test_help_tagjump.vim, src/testdir/test_options.vim, + src/testdir/test_substitute.vim, src/testdir/test_textformat.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0198 +Problem: No tests for y/n prompt. +Solution: Add tests. (Dominique Pellé, closes #5564) +Files: src/testdir/test_messages.vim + +Patch 8.2.0199 +Problem: Vim9 script commands not sufficiently tested. +Solution: Add more tests. Fix script-local function use. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, + src/userfunc.c + +Patch 8.2.0200 +Problem: Vim9 script commands not sufficiently tested. +Solution: Add more tests. Fix storing global variable. Make script + variables work. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim, + src/misc1.c, src/proto/misc1.pro + +Patch 8.2.0201 +Problem: Cannot assign to an imported variable. +Solution: Make it work. +Files: src/evalvars.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0202 +Problem: When 'lazyredraw' is set the window title may not be updated. +Solution: Set "do_redraw" before entering the main loop. (Jason Franklin) +Files: src/main.c + +Patch 8.2.0203 +Problem: :helptags and some other functionality not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5567) +Files: src/testdir/test_compiler.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_filechanged.vim, + src/testdir/test_help.vim, src/testdir/test_help_tagjump.vim, + src/testdir/test_timers.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0204 +Problem: Crash when using winnr('j') in a popup window. +Solution: Do not search for neighbors in a popup window. (closes #5568) +Files: src/window.c, src/testdir/test_popupwin.vim, src/evalwindow.c + +Patch 8.2.0205 +Problem: Error code E899 used twice. +Solution: Use E863 for the terminal in popup error. +Files: src/popupwin.c + +Patch 8.2.0206 +Problem: Calling Vim9 function using default argument fails. +Solution: Give an appropriate error. (closes #5572) +Files: src/testdir/test_vim9_script.vim, src/vim9compile.c, + src/vim9execute.c + +Patch 8.2.0207 +Problem: Crash when missing member type on list argument. +Solution: Check for invalid type. (closes #5572) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0208 +Problem: Fnamemodify() does not apply ":~" when followed by ":.". +Solution: Don't let a failing ":." cause the ":~" to be skipped. (Yasuhiro + Matsumoto, closes #5577) +Files: runtime/doc/cmdline.txt, src/filepath.c, + src/testdir/test_fnamemodify.vim + +Patch 8.2.0209 +Problem: Function a bit far away from where it's used. +Solution: Move function close to where it's used. (Ken Takata, closes #5569) +Files: src/fileio.c, src/filepath.c + +Patch 8.2.0210 +Problem: Coverity complains about uninitialized field. +Solution: Initialize the field. +Files: src/vim9compile.c + +Patch 8.2.0211 +Problem: Test for ANSI colors fails without an "ls" command. +Solution: Use "dir". (Ken Takata, closes #5582) +Files: src/testdir/test_functions.vim + +Patch 8.2.0212 +Problem: Missing search/substitute pattern hardly tested. +Solution: Add test_clear_search_pat() and tests. (Yegappan Lakshmanan, + closes #5579) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/regexp.pro, + src/proto/search.pro, src/proto/testing.pro, src/regexp.c, + src/search.c, src/testdir/test_quickfix.vim, + src/testdir/test_search.vim, src/testdir/test_sort.vim, + src/testdir/test_substitute.vim, src/testing.c + +Patch 8.2.0213 +Problem: Configure does not recognize gcc 10.0 and later. +Solution: Adjust the pattern matching the version number. (Sergei + Trofimovich, closes #5580) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0214 +Problem: A popup window with a terminal can be made hidden. +Solution: Disallow hiding a terminal popup. +Files: src/testdir/test_terminal.vim, src/popupwin.c, + src/testdir/dumps/Test_terminal_popup_4.dump + +Patch 8.2.0215 (after 8.2.0208) +Problem: Wrong file name shortening. (Ingo Karkat) +Solution: Better check for path separator. (Yasuhiro Matsumoto, + closes #5583, closes #5584) +Files: src/filepath.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.0216 +Problem: Several Vim9 instructions are not tested. +Solution: Add more tests. Fix :disassemble output. Make catch with pattern + work. +Files: src/testdir/test_vim9_script.vim, src/vim9execute.c, + src/vim9compile.c + +Patch 8.2.0217 (after 8.2.0214) +Problem: Terminal test fails on Mac. +Solution: Add a short wait. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0218 +Problem: Several Vim9 instructions are not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0219 (after 8.2.0217) +Problem: Terminal test still fails on Mac. +Solution: Skip part of the test on Mac. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0220 +Problem: Terminal test did pass on Mac. +Solution: Remove the skip again. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0221 +Problem: No test for Vim9 += and ..=. +Solution: Add tests. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0222 +Problem: Vim9: optional function arguments don't work yet. +Solution: Implement optional function arguments. +Files: src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.0223 +Problem: Some instructions not yet tested. +Solution: Disassemble more instructions. Move tests to a new file. Compile + call to s:function(). +Files: src/testdir/test_vim9_script.vim, src/testdir/Make_all.mak, + src/testdir/test_vim9_disassemble.vim, src/vim9compile.c, + src/userfunc.c, src/proto/userfunc.pro, src/vim.h + +Patch 8.2.0224 +Problem: compiling :elseif not tested yet. +Solution: Add test for :elseif. Fix generating jumps. +Files: src/testdir/test_vim9_script.vim, src/vim9compile.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0225 +Problem: compiling lambda not tested yet. +Solution: Add test for lambda and funcref. Drop unused instruction arg. +Files: src/testdir/test_vim9_disassemble.vim, src/vim9.h, + src/vim9execute.c + +Patch 8.2.0226 +Problem: Compiling for loop not tested. +Solution: Add a test. Make variable initialization work for more types. +Files: src/testdir/test_vim9_disassemble.vim, src/vim9compile.c + +Patch 8.2.0227 +Problem: Compiling a few instructions not tested. +Solution: Add more test cases. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0228 +Problem: Configure does not recognize gcc version on BSD. +Solution: Do not use "\+" in the pattern matching the version number. (Ozaki + Kiichi, closes #5590) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0229 +Problem: Compare instructions not tested. +Solution: Add test cases. Fix disassemble with line continuation. +Files: src/testdir/test_vim9_disassemble.vim, src/vim9execute.c, + src/vim9compile.c + +Patch 8.2.0230 +Problem: Terminal popup test is flaky. +Solution: Increase wait time a bit. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0231 +Problem: Silent system command may clear the screen. +Solution: Do not clear the screen in t_te. +Files: src/term.c + +Patch 8.2.0232 +Problem: The :compiler command causes a crash. (Daniel Steinberg) +Solution: Do not use the script index if it isn't set. +Files: src/ex_docmd.c, src/testdir/test_compiler.vim + +Patch 8.2.0233 +Problem: Crash when using garbagecollect() in between rand(). +Solution: Redesign the rand() and srand() implementation. (Yasuhiro + Matsumoto, closes #5587, closes #5588) +Files: src/evalfunc.c, src/testdir/test_random.vim, + runtime/doc/testing.txt, runtime/doc/eval.txt + +Patch 8.2.0234 +Problem: Message test fails on SunOS. +Solution: Adjust expectation for printf "%p". (Ozaki Kiichi, closes #5595) +Files: src/message_test.c + +Patch 8.2.0235 +Problem: Draw error when an empty group is removed from 'statusline'. +Solution: Do not use highlighting from a removed group. +Files: src/buffer.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_1.dump + +Patch 8.2.0236 +Problem: MS-Windows uninstall doesn't delete vimtutor.bat. +Solution: Change directory before deletion. (Ken Takata, closes #5603) +Files: src/uninstall.c + +Patch 8.2.0237 +Problem: Crash when setting 'wincolor' on finished terminal window. + (Bakudankun) +Solution: Check that the vterm is not NULL. (Yasuhiro Matsumoto, closes + #5607, closes #5610) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0238 +Problem: MS-Windows: job_stop() results in exit value zero. +Solution: Call TerminateJobObject() with -1 instead of 0. (Yasuhiro + Matsumoto, closes #5150, closes #5614) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 8.2.0239 +Problem: MS-Windows: 'env' job option does not override existing + environment variables. (Tim Pope) +Solution: Set the environment variables later. (Yasuhiro Matsumoto, + closes #5485, closes #5608) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 8.2.0240 +Problem: Using memory after it was freed. (Dominique Pellé) +Solution: Do not mix conversion buffer with other buffer. +Files: src/viminfo.c, src/vim.h + +Patch 8.2.0241 +Problem: Crash when setting 'buftype' to "quickfix". +Solution: Check that error list is not NULL. (closes #5613) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0242 +Problem: Preview popup window test fails with long directory name. (Jakub + Kądziołka) +Solution: Use "silent cd". (closes #5615) +Files: src/testdir/test_popupwin.vim + +Patch 8.2.0243 +Problem: Insufficient code coverage for ex_docmd.c functions. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5618) +Files: src/testdir/Make_all.mak, src/testdir/test_arglist.vim, + src/testdir/test_buffer.vim, src/testdir/test_cd.vim, + src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_mapping.vim, + src/testdir/test_quickfix.vim, src/testdir/test_search.vim, + src/testdir/test_sort.vim, src/testdir/test_source.vim, + src/testdir/test_substitute.vim, src/testdir/test_undo.vim, + src/testdir/test_vimscript.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0244 +Problem: Compiler warning in Lua interface. +Solution: Add type cast. (Ken Takata, closes #5621) +Files: src/if_lua.c + +Patch 8.2.0245 +Problem: MSVC: error message if the auto directory already exists. +Solution: Add "if not exists". (Ken Takata, closes #5620) +Files: src/Make_mvc.mak + +Patch 8.2.0246 +Problem: MSVC: deprecation warnings with Ruby. +Solution: Move _CRT_SECURE_NO_DEPRECATE to build file. (Ken Takata, + closes #5622) +Files: src/Make_mvc.mak, src/if_ruby.c, src/os_win32.h, src/vim.h, + src/vimio.h + +Patch 8.2.0247 +Problem: Misleading comment in NSIS installer script. +Solution: Negate the meaning of the comment. (Ken Takata, closes #5627) +Files: nsis/gvim.nsi + +Patch 8.2.0248 +Problem: MS-Windows: dealing with deprecation is too complicated. +Solution: Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build + file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken + Takata, closes #5626) +Files: src/Make_mvc.mak, src/dosinst.h, src/vim.h, src/vimio.h, + src/winclip.c, Filelist + +Patch 8.2.0249 +Problem: MS-Windows: various warnings. +Solution: Set the charset to utf-8. Add _WIN32_WINNT and _USING_V110_SDK71_. + (Ken Takata, closes #5625) +Files: src/GvimExt/Makefile, src/Make_mvc.mak + +Patch 8.2.0250 +Problem: test_clear_search_pat() is unused. +Solution: Remove the function. (Yegappan Lakshmanan, closes #5624) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/regexp.pro, + src/proto/search.pro, src/proto/testing.pro, src/regexp.c, + src/search.c, src/testdir/test_writefile.vim, src/testing.c + +Patch 8.2.0251 +Problem: A couple of function return types can be more specific. +Solution: Use a better return type. (Ken Takata, closes #5629) +Files: src/evalfunc.c, src/globals.h + +Patch 8.2.0252 +Problem: Windows compiler warns for using size_t. +Solution: Change to int. (Mike Williams) +Files: src/vim9compile.c + +Patch 8.2.0253 +Problem: Crash when using :disassemble without argument. (Dhiraj Mishra) +Solution: Check for missing argument. (Dominique Pellé, closes #5635, + closes #5637) +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim, + src/ex_cmds.h + +Patch 8.2.0254 +Problem: Compiler warning for checking size_t to be negative. +Solution: Only check for zero. (Zoltan Arpadffy) +Files: src/vim9compile.c + +Patch 8.2.0255 +Problem: VMS: missing files in build. +Solution: Add the files. (Zoltan Arpadffy) +Files: src/Make_vms.mms + +Patch 8.2.0256 +Problem: Time and timer related code is spread out. +Solution: Move time and timer related code to a new file. (Yegappan + Lakshmanan, closes #5604) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/main.c, + src/memline.c, src/misc1.c, src/misc2.c, src/proto.h, + src/proto/ex_cmds.pro, src/proto/ex_cmds2.pro, src/proto/main.pro, + src/proto/memline.pro, src/proto/misc1.pro, src/proto/misc2.pro, + src/proto/time.pro, src/time.c + +Patch 8.2.0257 +Problem: Cannot recognize a terminal in a popup window. +Solution: Add the win_gettype() function. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/evalwindow.c, + src/proto/evalwindow.pro, src/testdir/test_cmdline.vim, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump + +Patch 8.2.0258 +Problem: ModifyOtherKeys cannot be temporarily disabled. +Solution: Add echoraw() with an example for modifyOtherKeys. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, + src/testdir/dumps/Test_functions_echoraw.dump + +Patch 8.2.0259 +Problem: Terminal in popup test sometimes fails. +Solution: Clear the command line. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump + +Patch 8.2.0260 +Problem: Several lines of code are duplicated. +Solution: Move duplicated code to a function. (Yegappan Lakshmanan, + closes #5330) +Files: src/option.c, src/os_unix.c, src/os_win32.c, src/proto/term.pro, + src/quickfix.c, src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c, + src/term.c + +Patch 8.2.0261 +Problem: Some code not covered by tests. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5645) +Files: src/testdir/test_buffer.vim, src/testdir/test_cmdline.vim, + src/testdir/test_exists.vim, src/testdir/test_filechanged.vim, + src/testdir/test_fileformat.vim, src/testdir/test_mapping.vim, + src/testdir/test_marks.vim, src/testdir/test_normal.vim, + src/testdir/test_plus_arg_edit.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tabpage.vim, src/testdir/test_visual.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim + +Patch 8.2.0262 (after 8.2.0261) +Problem: Fileformat test fails on MS-Windows. +Solution: Set fileformat of buffer. +Files: src/testdir/test_fileformat.vim + +Patch 8.2.0263 +Problem: A few new Vim9 messages are not localized. +Solution: Add the gettext wrapper. (Dominique Pellé, closes #5647) +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0264 (after 8.2.0262) +Problem: Fileformat test still fails on MS-Windows. +Solution: Set fileformat of buffer in the right place. +Files: src/testdir/test_fileformat.vim + +Patch 8.2.0265 +Problem: "eval" after "if 0" doesn't check for following command. +Solution: Add "eval" to list of commands that check for a following command. + (closes #5640) +Files: src/ex_docmd.c, src/testdir/test_expr.vim + +Patch 8.2.0266 +Problem: Terminal in popup test sometimes fails on Mac. +Solution: Add a short delay. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0267 +Problem: No check for a following command when calling a function fails. +Solution: Also check for a following command when inside a try block. + (closes #5642) +Files: src/userfunc.c, src/testdir/test_user_func.vim + +Patch 8.2.0268 (after 8.2.0267) +Problem: Trycatch test fails. +Solution: When calling function fails only check for following command, do + not give another error. +Files: src/userfunc.c + +Patch 8.2.0269 +Problem: Vim9: operator after list index does not work. (Yasuhiro + Matsumoto) +Solution: After indexing a list change the type to the list member type. + (closes #5651) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0270 +Problem: Some code not covered by tests. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5649) +Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, + src/testdir/test_edit.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_expand.vim, + src/testdir/test_filetype.vim, src/testdir/test_findfile.vim, + src/testdir/test_join.vim, src/testdir/test_move.vim, + src/testdir/test_normal.vim, src/testdir/test_registers.vim, + src/testdir/test_source.vim, src/testdir/test_tabpage.vim, + src/testdir/test_tagjump.vim, src/testdir/test_vimscript.vim, + src/testdir/test_visual.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0271 +Problem: The "num64" feature is available everywhere and building without + it causes problems. +Solution: Graduate the "num64" feature. (James McCoy, closes #5650) +Files: src/evalfunc.c, src/feature.h, src/message.c, src/structs.h, + src/testdir/test_expr.vim, src/testdir/test_largefile.vim, + src/testdir/test_sort.vim, src/testdir/test_vimscript.vim, + src/version.c + +Patch 8.2.0272 +Problem: ":helptags ALL" gives error for directories without write + permission. (Matěj Cepl) +Solution: Ignore errors for ":helptags ALL". (Ken Takata, closes #5026, + closes #5652) +Files: src/ex_cmds.c, src/testdir/test_help.vim + +Patch 8.2.0273 +Problem: MS-Windows uninstall may delete wrong batch file. +Solution: Add specific marker in the generated batch file. (Ken Takata, + closes #5654) +Files: src/Make_mvc.mak, src/dosinst.c, src/dosinst.h, src/uninstall.c + +Patch 8.2.0274 +Problem: Hang with combination of feedkeys(), Ex mode and :global. + (Yegappan Lakshmanan) +Solution: Add the pending_exmode_active flag. +Files: src/ex_docmd.c, src/globals.h, src/getchar.c, + src/testdir/test_ex_mode.vim + +Patch 8.2.0275 +Problem: Some Ex code not covered by tests. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5659) +Files: src/testdir/test_arglist.vim, src/testdir/test_autocmd.vim, + src/testdir/test_excmd.vim, src/testdir/test_quickfix.vim, + src/testdir/test_search.vim, src/testdir/test_swap.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0276 +Problem: Vim9: not allowing space before ")" in function call is too + restrictive. (Ben Jackson) +Solution: Skip space before the ")". Adjust other space checks. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0277 +Problem: Vim9: not all instructions covered by tests. +Solution: Add more test cases. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0278 +Problem: Channel test is flaky on Mac. +Solution: Reset variable before sending message. +Files: src/testdir/test_channel.vim + +Patch 8.2.0279 +Problem: Vim9: no test for deleted :def function. +Solution: Add a test. Clear uf_cleared flag when redefining a function. +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0280 +Problem: Vim9: throw in :def function not caught higher up. +Solution: Set "need_rethrow". +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0281 +Problem: Two placed signs in the same line are not combined. E.g. in the + terminal debugger a breakpoint and the PC cannot be both be + displayed. +Solution: Combine the sign column and line highlight attributes. +Files: src/sign.c, src/testdir/test_signs.vim, + src/testdir/dumps/Test_sign_cursor_3.dump, + src/testdir/dumps/Test_sign_cursor_4.dump + +Patch 8.2.0282 +Problem: Vim9: setting number option not tested. +Solution: Add more tests. Fix assigning to global variable. +Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/vim9execute.c + +Patch 8.2.0283 +Problem: Vim9: failing to load script var not tested. +Solution: Add more tests. Fix using s: in old script. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0284 +Problem: Vim9: assignment test fails. +Solution: Avoid duplicating "s:". +Files: src/vim9compile.c + +Patch 8.2.0285 +Problem: Unused error message. Cannot create s:var. +Solution: Remove the error message. Make assignment to s:var work. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0286 +Problem: Cannot use popup_close() for a terminal popup. +Solution: Allow using popup_close(). (closes #5666) +Files: src/popupwin.c, runtime/doc/popup.txt, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_5.dump, + src/testdir/dumps/Test_terminal_popup_6.dump + +Patch 8.2.0287 +Problem: Vim9: return in try block not tested; catch with pattern not + tested. +Solution: Add tests. Make it work. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0288 +Problem: Vim9: some float and blob operators not tested. +Solution: Add float and blob tests. Fix addition. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c + +Patch 8.2.0289 +Problem: Vim9: :echo did not clear the rest of the line. +Solution: Call msg_clr_eos(). (Ken Takata, closes #5668) +Files: src/vim9execute.c + +Patch 8.2.0290 +Problem: Running individual test differs from all tests. +Solution: Pass on environment variables. (Yee Cheng Chin, closes #5672) +Files: src/testdir/Makefile, src/testdir/README.txt + +Patch 8.2.0291 +Problem: Vim9: assigning [] to list<string> doesn't work. +Solution: Use void for empty list and dict. (Ken Takata, closes #5669) +Files: src/vim9compile.c, src/globals.h, src/testdir/test_vim9_script.vim + +Patch 8.2.0292 +Problem: Vim9: CHECKNR and CHECKTYPE instructions not tested. +Solution: Add tests. +Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0293 +Problem: Various Ex commands not sufficiently tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5673) +Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, + src/testdir/test_ex_mode.vim, src/testdir/test_excmd.vim, + src/testdir/test_expand.vim, src/testdir/test_filetype.vim, + src/testdir/test_filter_cmd.vim, src/testdir/test_global.vim, + src/testdir/test_normal.vim, src/testdir/test_plus_arg_edit.vim, + src/testdir/test_quickfix.vim, src/testdir/test_trycatch.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0294 +Problem: Cannot use Ex command that is also a function name. +Solution: Recognize an Ex command by a colon prefix. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + runtime/doc/vim9.txt + +Patch 8.2.0295 +Problem: Highlighting for :s wrong when using different separator. +Solution: Use separate argument for search direction and separator. (Rob + Pilling, closes #5665) +Files: src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/normal.c, + src/proto/search.pro, src/quickfix.c, src/search.c, src/spell.c, + src/tag.c, src/testdir/dumps/Test_incsearch_substitute_15.dump, + src/testdir/test_search.vim + +Patch 8.2.0296 +Problem: Mixing up "long long" and __int64 may cause problems. (John + Marriott) +Solution: Pass varnumber_T to vim_snprintf(). Add v:numbersize. +Files: src/message.c, src/eval.c, src/fileio.c, src/json.c, src/ops.c, + src/vim.h, src/structs.h, src/evalvars.c, runtime/doc/eval.txt, + runtime/doc/various.txt, src/testdir/test_eval_stuff.vim + +Patch 8.2.0297 +Problem: Compiler warnings for the Ruby interface. +Solution: Undefine a few macros, fix initialization. (Ozaki Kiichi, + closes #5677) +Files: src/if_ruby.c + +Patch 8.2.0298 +Problem: Vim9 script: cannot start command with a string constant. +Solution: Recognize expression starting with '('. +Files: src/ex_docmd.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim, runtime/doc/vim9.txt + +Patch 8.2.0299 +Problem: Vim9: ISN_STORE with argument not tested. Some cases in tv2bool() + not tested. +Solution: Add tests. Add test_unknown() and test_void(). +Files: src/testing.c, src/proto/testing.pro, src/evalfunc.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, runtime/doc/eval.txt, + runtime/doc/testing.txt + +Patch 8.2.0300 +Problem: Vim9: expression test fails without channel support. +Solution: Add has('channel') check. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0301 +Problem: Insufficient testing for exception handling and the "attention" + prompt. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5681) +Files: src/testdir/test_swap.vim, src/testdir/test_trycatch.vim + +Patch 8.2.0302 +Problem: Setting 'term' may cause error in TermChanged autocommand. +Solution: Use aucmd_prepbuf() to switch to the buffer where the autocommand + is to be executed. (closes #5682) +Files: src/term.c, src/testdir/test_autocmd.vim + +Patch 8.2.0303 +Problem: TermChanged test fails in the GUI. +Solution: Skip the test when running the GUI. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.0304 +Problem: Terminal test if failing on some systems. +Solution: Wait for the job to finish. (James McCoy) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0305 +Problem: Relativenumber test fails on some systems. (James McCoy) +Solution: Clear the command line. +Files: src/testdir/test_number.vim, + src/testdir/dumps/Test_relnr_colors_2.dump, + src/testdir/dumps/Test_relnr_colors_3.dump + +Patch 8.2.0306 +Problem: Vim9: :substitute(pat(repl does not work in Vim9 script. +Solution: Remember starting with a colon. (closes #5676) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0307 +Problem: Python 3 vim.eval not well tested. +Solution: Add a test. (Dominique Pellé, closes #5680) +Files: src/testdir/test_python3.vim + +Patch 8.2.0308 +Problem: 'showbreak' does not work for a very long line. (John Little) +Solution: Check whether 'briopt' contains "sbr". (Ken Takata, closes #5523, + closes #5684) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.2.0309 +Problem: Window-local values have confusing name. +Solution: Rename w_p_bri* to w_briopt_*. +Files: src/structs.h, src/indent.c, src/drawline.c + +Patch 8.2.0310 +Problem: Autocmd test fails on a slow system. +Solution: Adjust the expectations. (James McCoy, closes #5685) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.0311 +Problem: Vim9: insufficient script tests. +Solution: Add tests. Free imports when re-using a script. +Files: src/testdir/test_vim9_script.vim, src/scriptfile.c + +Patch 8.2.0312 +Problem: Vim9: insufficient script tests. +Solution: Add more tests. Make "import * as Name" work. +Files: src/testdir/test_vim9_script.vim, src/vim9script.c, + src/proto/vim9script.pro, src/vim9compile.c + +Patch 8.2.0313 +Problem: Vim9: insufficient script tests. +Solution: Add tests. Make import of alphanumeric name work. +Files: src/testdir/test_vim9_script.vim, src/vim9script.c + +Patch 8.2.0314 +Problem: Short name not set for terminal buffer. +Solution: Set the short name. (closes #5687) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0315 +Problem: Build failure on HP-UX system. +Solution: Use LONG_LONG_MIN instead of LLONG_MIN. Add type casts for switch + statement. (John Marriott) +Files: src/structs.h, src/json.c + +Patch 8.2.0316 +Problem: ex_getln.c code has insufficient test coverage. +Solution: Add more tests. Fix a problem. (Yegappan Lakshmanan, closes #5693) +Files: src/cmdhist.c, src/testdir/test_cmdline.vim, + src/testdir/test_functions.vim, src/testdir/test_history.vim, + src/testdir/test_menu.vim + +Patch 8.2.0317 +Problem: MSVC: _CRT_SECURE_NO_DEPRECATE not defined on DEBUG build. +Solution: Move where CFLAGS is updated. (Ken Takata, closes #5692) +Files: src/Make_mvc.mak + +Patch 8.2.0318 +Problem: Vim9: types not sufficiently tested. +Solution: Add tests with more types. +Files: src/globals.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.0319 +Problem: File missing in distribution, comments outdated. +Solution: Correct path of README file. Update comments. +Files: Filelist, src/evalvars.c, src/register.c, src/if_python3.c + +Patch 8.2.0320 +Problem: No Haiku support. +Solution: Add support for Haiku. (Emir Sarı, closes #5605) +Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt, + runtime/doc/gui.txt, runtime/doc/help.txt, + runtime/doc/options.txt, runtime/doc/os_haiku.txt, + runtime/doc/starting.txt, runtime/doc/tags, + runtime/gvimrc_example.vim, runtime/vimrc_example.vim, + src/INSTALL, src/Makefile, src/auto/configure, src/configure.ac, + src/evalfunc.c, src/feature.h, src/fileio.c, src/globals.h, + src/gui.c, src/gui.h, src/gui_haiku.cc, src/gui_haiku.h, + src/mbyte.c, src/menu.c, src/misc1.c, src/mouse.c, src/option.h, + src/os_haiku.h, src/os_haiku.rdef, src/os_unix.c, src/os_unix.h, + src/osdef1.h.in, src/proto.h, src/proto/gui_haiku.pro, src/pty.c, + src/screen.c, src/structs.h, src/term.c, src/version.c, src/vim.h + +Patch 8.2.0321 +Problem: Vim9: ":execute" does not work yet. +Solution: Add ISN_EXECUTE. (closes #5699) Also make :echo work with more + than one argument. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0322 +Problem: Vim9: error checks not tested. +Solution: Add more test cases. Avoid error for function loaded later. +Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0323 +Problem: Vim9: calling a function that is defined later is slow. +Solution: Once the function is found update the instruction so it can be + called directly. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0324 +Problem: Text property not updated correctly when inserting/deleting. +Solution: Use the right column when deleting. Make zero-width text + properties respect start_incl and end_incl. (Axel Forsman, + closes #5696, closes #5679) +Files: src/change.c, src/textprop.c, src/testdir/test_listener.vim, + src/testdir/test_textprop.vim + +Patch 8.2.0325 +Problem: Ex_getln.c code not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5702) +Files: src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_functions.vim, src/testdir/test_history.vim, + src/testdir/test_options.vim + +Patch 8.2.0326 +Problem: Compiler warning for using uninitialized variable. (Yegappan + Lakshmanan) +Solution: Do not jump to failed but return. +Files: src/vim9execute.c + +Patch 8.2.0327 +Problem: Crash when opening and closing two popup terminal windows. +Solution: Check that prevwin is valid. (closes #5707) +Files: src/popupwin.c, src/testdir/test_terminal.vim + +Patch 8.2.0328 +Problem: No redraw when leaving terminal-normal mode in a terminal popup + window. +Solution: Redraw the popup window. (closes #5708) +Files: src/macros.h, src/vim.h, src/terminal.c, src/drawscreen.c, + src/move.c, src/popupwin.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_7.dump, + src/testdir/dumps/Test_terminal_popup_8.dump + +Patch 8.2.0329 +Problem: Popup filter converts 0x80 bytes. +Solution: Keep 0x80 bytes as-is. (Ozaki Kiichi, closes #5706) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.0330 +Problem: Build error with popup window but without terminal. +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.2.0331 +Problem: Internal error when using test_void() and test_unknown(). + (Dominique Pellé) +Solution: Give a normal error. +Files: src/evalfunc.c, src/testdir/test_functions.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0332 +Problem: Some code in ex_getln.c not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5710) +Files: src/testdir/test_arabic.vim, src/testdir/test_cmdline.vim + +Patch 8.2.0333 +Problem: Terminal in popup test is flaky. +Solution: Make sure redraw is done before opening the popup. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump + +Patch 8.2.0334 +Problem: Abort called when using test_void(). (Dominique Pellé) +Solution: Only give an error, don't abort. +Files: src/message.c, src/proto/message.pro, src/evalfunc.c, + src/eval.c, src/json.c, src/testdir/test_functions.vim + +Patch 8.2.0335 +Problem: No completion for :disassemble. +Solution: Make completion work. Also complete script-local functions if the + name starts with "s:". +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + runtime/doc/vim9.txt + +Patch 8.2.0336 +Problem: Vim9: insufficient test coverage for compiling. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0337 +Problem: Build fails on a few systems. +Solution: Use vim_snprintf() instead of snprintf(). +Files: src/cmdexpand.c + +Patch 8.2.0338 +Problem: Build failure without the channel feature. +Solution: Add #ifdef +Files: src/vim9compile.c + +Patch 8.2.0339 +Problem: Vim9: function return type may depend on arguments. +Solution: Instead of a fixed return type use a function to figure out the + return type. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/evalbuffer.c, src/proto/evalbuffer.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.0340 +Problem: Vim9: function and partial types not tested. +Solution: Support more for partial, add tests. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0341 +Problem: Using ":for" in Vim9 script gives an error. +Solution: Pass the LET_NO_COMMAND flag. (closes #5715) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0342 +Problem: Some code in ex_getln.c not covered by tests. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5717) +Files: src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_history.vim, src/testdir/test_iminsert.vim + +Patch 8.2.0343 +Problem: Vim9: using wrong instruction, limited test coverage. +Solution: Use ISN_PUSHJOB. Add a few more tests. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0344 +Problem: ":def" not skipped properly. +Solution: Add CMD_def to list of commands the require evaluation even when + not being executed. +Files: src/ex_docmd.c + +Patch 8.2.0345 +Problem: Compiler warning when building without the float feature. +Solution: Add #ifdef. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.0346 +Problem: Vim9: finding common list type not tested. +Solution: Add more tests. Fix listing function. Fix overwriting type. +Files: src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_script.vim, src/testdir/runtest.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0347 +Problem: Various code not covered by tests. +Solution: Add more test coverage. (Yegappan Lakshmanan, closes #5720) +Files: src/testdir/gen_opt_test.vim, src/testdir/test86.in, + src/testdir/test_cmdline.vim, src/testdir/test_digraph.vim, + src/testdir/test_ex_mode.vim, src/testdir/test_history.vim + +Patch 8.2.0348 +Problem: Vim9: not all code tested. +Solution: Add a few more tests. fix using "b:" in literal dictionary. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.0349 +Problem: Vim9: constant expression not well tested. +Solution: Add tests for "if" with constant expression. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0350 +Problem: Vim9: expression tests don't use recognized constants. +Solution: Recognize "true" and "false" as constants. Make skipping work for + assignment and expression evaluation. +Files: src/vim9compile.c + +Patch 8.2.0351 +Problem: Terminal in popup test is still a bit flaky. +Solution: Clear and redraw before opening the popup. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0352 +Problem: FreeBSD: test for sourcing utf-8 is skipped. +Solution: Run the matchadd_conceal test separately to avoid that setting + 'term' to "ansi" causes problems for other tests. (Ozaki Kiichi, + closes #5721) +Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim, + src/testdir/test_source_utf8.vim + +Patch 8.2.0353 +Problem: Vim9: while loop not tested. +Solution: Add test with "while", "break" and "continue" +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0354 +Problem: Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal) +Solution: Remove it, it was only for debugging. +Files: src/if_python3.c + +Patch 8.2.0355 +Problem: Vim9: str_val is confusing, it's a number +Solution: Rename to stnr_val. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0356 +Problem: MS-Windows: feedkeys() with VIMDLL cannot handle CSI correctly. +Solution: Modify mch_inchar() to encode CSI bytes. (Ozaki Kiichi, Ken + Takata, closes #5726) +Files: src/getchar.c, src/os_win32.c, src/testdir/test_popupwin.vim + +Patch 8.2.0357 +Problem: Cannot delete a text property matching both id and type. (Axel + Forsman) +Solution: Add the "both" argument. +Files: src/textprop.c, runtime/doc/textprop.txt, + src/testdir/test_textprop.vim + +Patch 8.2.0358 +Problem: Insufficient testing for indent.c. +Solution: Add indent tests. (Yegappan Lakshmanan, closes #5736) +Files: src/testdir/Make_all.mak, src/testdir/test_ex_mode.vim, + src/testdir/test_expand_func.vim, src/testdir/test_indent.vim, + src/testdir/test_lispwords.vim, src/testdir/test_smartindent.vim, + src/testdir/test_vartabs.vim + +Patch 8.2.0359 +Problem: popup_atcursor() may hang. (Yasuhiro Matsumoto) +Solution: Take the decoration into account. (closes #5728) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.0360 +Problem: Yaml files are only recognized by the file extension. +Solution: Check for a line starting with "%YAML". (Jason Franklin) +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.0361 +Problem: Internal error when using "0" for a callback. +Solution: Give a normal error. (closes #5743) +Files: src/evalvars.c, src/testdir/test_timers.vim + +Patch 8.2.0362 +Problem: MS-Windows: channel test fails if grep is not available. +Solution: Use another command. (Ken Takata, closes #5739) +Files: src/testdir/test_channel.vim + +Patch 8.2.0363 +Problem: Some Normal mode commands not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5746) +Files: src/testdir/test_cindent.vim, src/testdir/test_cmdline.vim, + src/testdir/test_edit.vim, src/testdir/test_indent.vim, + src/testdir/test_normal.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_virtualedit.vim, src/testdir/test_visual.vim + +Patch 8.2.0364 +Problem: Printf test failing on Haiku. +Solution: Make a difference between int and short. (Dominique Pellé, + closes #5749) +Files: src/message.c + +Patch 8.2.0365 +Problem: Tag kind can't be a multibyte character. (Marcin Szamotulski) +Solution: Recognize multibyte character. (closes #5724) +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.2.0366 +Problem: Hardcopy command not tested enough. +Solution: Add tests for printing. (Dominique Pellé, closes #5748) +Files: src/testdir/test_hardcopy.vim + +Patch 8.2.0367 +Problem: Can use :pedit in a popup window. +Solution: Disallow it. +Files: src/ex_docmd.c, src/testdir/test_popuwin.vim + +Patch 8.2.0368 +Problem: Vim9: import that redefines local variable does not fail. +Solution: Check for already defined symbols. +Files: src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.0369 +Problem: Various Normal mode commands not fully tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5751) +Files: src/testdir/test_arglist.vim, src/testdir/test_changelist.vim, + src/testdir/test_charsearch.vim, src/testdir/test_cmdline.vim, + src/testdir/test_edit.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_gf.vim, + src/testdir/test_iminsert.vim, src/testdir/test_increment.vim, + src/testdir/test_marks.vim, src/testdir/test_normal.vim, + src/testdir/test_prompt_buffer.vim, src/testdir/test_put.vim, + src/testdir/test_registers.vim, src/testdir/test_tagjump.vim, + src/testdir/test_visual.vim + +Patch 8.2.0370 +Problem: The typebuf_was_filled flag is sometimes not reset, which may + cause a hang. +Solution: Make sure typebuf_was_filled is reset when the typeahead buffer is + empty. +Files: src/edit.c, src/getchar.c, + +Patch 8.2.0371 +Problem: Crash with combination of terminal popup and autocmd. +Solution: Disallow closing a popup that is the current window. Add a check + that the current buffer is valid. (closes #5754) +Files: src/macros.h, src/buffer.c, src/popupwin.c, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.2.0372 +Problem: Prop_find() may not find text property at start of the line. +Solution: Adjust the loop to find properties. (Axel Forsman, closes #5761, + closes #5663) +Files: src/testprop.c, src/testdir/test_textprop.vim + +Patch 8.2.0373 +Problem: Type of term_sendkeys() is unknown. +Solution: Just return zero. (closes #5762) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0374 +Problem: Using wrong printf directive for jump location. +Solution: Change "%lld" to "%d". (James McCoy, closes #5773) +Files: src/vim9execute.c + +Patch 8.2.0375 +Problem: Coverity warning for not using return value. +Solution: Move error message to separate function. +Files: src/popupwin.c + +Patch 8.2.0376 +Problem: Nasty callback test fails on some systems. +Solution: Increase the sleep time. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0377 +Problem: No CI test for a big-endian system. +Solution: Test with s390x. (James McCoy, closes #5772) +Files: .travis.yml + +Patch 8.2.0378 +Problem: prop_find() does not find all props. +Solution: Check being in the start line. (Axel Forsman, closes #5776) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.0379 +Problem: Gcc warns for ambiguous else. +Solution: Add braces. (Dominique Pellé, closes #5778) +Files: src/textprop.c + +Patch 8.2.0380 +Problem: Tiny popup when creating a terminal popup without minwidth. +Solution: Use a default minimum size of 5 lines of 20 characters. +Files: src/popupwin.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_m1.dump + +Patch 8.2.0381 +Problem: Using freed memory with :lvimgrep and autocommand. (extracted from + POC by Dominique Pellé) +Solution: Avoid deleting a dummy buffer used in a window. (closes #5777) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0382 +Problem: Some tests fail when run under valgrind. +Solution: Increase timeouts. +Files: src/testdir/test_autocmd.vim, src/testdir/test_debugger.vim, + src/testdir/test_channel.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump, + src/testdir/dumps/Test_terminal_popup_2.dump, + src/testdir/dumps/Test_terminal_popup_3.dump, + src/testdir/dumps/Test_terminal_popup_5.dump, + src/testdir/dumps/Test_terminal_popup_6.dump, + src/testdir/dumps/Test_terminal_popup_7.dump, + src/testdir/dumps/Test_terminal_popup_8.dump, + src/testdir/dumps/Test_terminal_popup_m1.dump + +Patch 8.2.0383 +Problem: Wrong feature check causes test not to be run. +Solution: Use CheckFunction instead of CheckFeature. (Ozaki Kiichi, + closes #5781) +Files: src/testdir/test_channel.vim + +Patch 8.2.0384 +Problem: Travis CI has warnings. +Solution: Avoid warnings, clean up the config. (Ozaki Kiichi, closes #5779) +Files: .travis.yml + +Patch 8.2.0385 +Problem: Menu functionality insufficiently tested. +Solution: Add tests. Add menu_info(). (Yegappan Lakshmanan, closes #5760) +Files: runtime/doc/eval.txt, runtime/doc/gui.txt, runtime/doc/usr_41.txt, + src/evalfunc.c, src/menu.c, src/proto/menu.pro, + src/testdir/test_menu.vim, src/testdir/test_popup.vim, + src/testdir/test_termcodes.vim + +Patch 8.2.0386 (after 8.2.0385) +Problem: Part from unfinished patch got included. +Solution: Undo that part. +Files: src/evalfunc.c + +Patch 8.2.0387 +Problem: Error for possible NULL argument to qsort(). +Solution: Don't call qsort() when there is nothing to sort. (Dominique + Pellé, closes #5780) +Files: src/spellsuggest.c + +Patch 8.2.0388 +Problem: Printmbcharset option not tested. +Solution: Add a test. Enable PostScript for AppVeyor build. (Dominique + Pellé, closes #5783) +Files: appveyor.yml, src/testdir/test_hardcopy.vim + +Patch 8.2.0389 +Problem: Delayed redraw when shifting text from Insert mode. +Solution: Use msg_attr_keep() instead of msg(). (closes #5782) +Files: src/ops.c + +Patch 8.2.0390 +Problem: Terminal postponed scrollback test is flaky. +Solution: Add delay in between sending keys. Rename dump files. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_01.dump, + src/testdir/dumps/Test_terminal_02.dump, + src/testdir/dumps/Test_terminal_03.dump, + src/testdir/dumps/Test_terminal_scrollback_1.dump, + src/testdir/dumps/Test_terminal_scrollback_2.dump, + src/testdir/dumps/Test_terminal_scrollback_3.dump + +Patch 8.2.0391 (after 8.2.0377) +Problem: CI test coverage dropped. +Solution: Set $DISPLAY also for non-GUI builds. (James McCoy, closes #5788) +Files: .travis.yml + +Patch 8.2.0392 +Problem: Coverity warns for using array index out of range. +Solution: Add extra "if" to avoid warning. +Files: src/menu.c + +Patch 8.2.0393 +Problem: Coverity warns for not using return value. +Solution: Add (void). +Files: src/popupmenu.c + +Patch 8.2.0394 +Problem: Coverity complains about using NULL pointer. +Solution: Use empty string when option value is NULL. +Files: src/optionstr.c + +Patch 8.2.0395 +Problem: Build fails with FEAT_EVAL but without FEAT_MENU. +Solution: Add #ifdef. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.0396 +Problem: Cmdexpand.c insufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5789) +Files: src/testdir/test_cmdline.vim, src/testdir/test_taglist.vim, + src/testdir/test_terminal.vim, src/testdir/test_usercommands.vim + +Patch 8.2.0397 +Problem: Delayed screen update when using undo from Insert mode. +Solution: Update w_topline and cursor shape before sleeping. (closes #5790) +Files: src/normal.c + +Patch 8.2.0398 +Problem: Profile test fails when two functions take same time. +Solution: Add a short sleep in once function. (closes #5797) +Files: src/testdir/test_profile.vim + +Patch 8.2.0399 +Problem: Various memory leaks. +Solution: Avoid the leaks. (Ozaki Kiichi, closes #5803) +Files: src/ex_docmd.c, src/ex_getln.c, src/menu.c, src/message.c, + src/scriptfile.c, src/userfunc.c + +Patch 8.2.0400 +Problem: Not all tests using a terminal are in the list of flaky tests. +Solution: Introduce the test_is_flaky flag. +Files: src/testdir/runtest.vim, src/testdir/term_util.vim, + src/testdir/screendump.vim, src/testdir/test_autocmd.vim + +Patch 8.2.0401 +Problem: Not enough test coverage for evalvars.c. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5804) +Files: src/testdir/test_cmdline.vim, src/testdir/test_const.vim, + src/testdir/test_diffmode.vim, src/testdir/test_excmd.vim, + src/testdir/test_functions.vim, src/testdir/test_let.vim, + src/testdir/test_listdict.vim, src/testdir/test_spell.vim, + src/testdir/test_unlet.vim, src/testdir/test_user_func.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0402 (after 8.2.0401) +Problem: Setting local instead of global flag. +Solution: Prepend "g:" to "test_is_flaky". +Files: src/testdir/term_util.vim, src/testdir/screendump.vim, + src/testdir/test_autocmd.vim + +Patch 8.2.0403 +Problem: When 'buftype' is "nofile" there is no overwrite check. +Solution: Also check for existing file when 'buftype' is set. + (closes #5807) +Files: src/ex_cmds.c, src/testdir/test_options.vim + +Patch 8.2.0404 +Problem: Writefile() error does not give a hint. +Solution: Add remark about first argument. +Files: src/filepath.c, src/testdir/test_writefile.vim + +Patch 8.2.0405 +Problem: MSVC: build fails with some combination of features. +Solution: Enable CHANNEL if TERMINAL is enabled. (Mike Williams) +Files: src/Make_mvc.mak + +Patch 8.2.0406 +Problem: FileReadCmd event not well tested. +Solution: Add a test. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.0407 +Problem: No early check if :find and :sfind have an argument. +Solution: Add EX_NEEDARG. +Files: src/ex_cmds.h, src/testdir/test_findfile.vim, + src/testdir/test_find_complete.vim + +Patch 8.2.0408 +Problem: Delete() commented out for testing. +Solution: Undo commenting-out. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0409 +Problem: Search test leaves file behind. +Solution: Delete the file. Also use Check commands. +Files: src/testdir/test_search.vim + +Patch 8.2.0410 +Problem: Channel test fails too often on slow Mac. +Solution: Increase waiting time to 10 seconds. +Files: src/testdir/test_channel.vim + +Patch 8.2.0411 +Problem: Mac: breakcheck is using a value from the stone ages. +Solution: Delete BREAKCHECK_SKIP from the Mac header file. (Ben Jackson) +Files: src/os_mac.h + +Patch 8.2.0412 +Problem: MS-Windows: cannot use vimtutor from the start menu. +Solution: Better check for writable directory. Use the right path for the + executable. (Wu Yongwei, closes #5774, closes #5756) +Files: vimtutor.bat + +Patch 8.2.0413 +Problem: Buffer menu does not handle special buffers properly. +Solution: Keep a dictionary with buffer names to reliably keep track of + entries. + Also trigger BufFilePre and BufFilePost for command-line and + terminal buffers when the name changes. +Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak, + runtime/menu.vim, src/ex_getln.c, src/terminal.c, + src/testdir/test_menu.vim + +Patch 8.2.0414 +Problem: Channel connect_waittime() test is flaky. +Solution: Set the test_is_flaky flag. Use test_is_flaky for more tests. +Files: src/testdir/test_channel.vim, src/testdir/test_terminal.vim, + src/testdir/runtest.vim + +Patch 8.2.0415 +Problem: Bsdl filetype is not detected. +Solution: Add an entry in the filetype list. (Daniel Kho, closes #5810) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0416 +Problem: Test leaves file behind. +Solution: Delete the file. +Files: src/testdir/test_indent.vim + +Patch 8.2.0417 +Problem: Travis CI config can be improved. +Solution: Remove COVERAGE variable. Add load-snd-dummy script. add "-i NONE" + to avoid messages about viminfo. (Ozaki Kiichi, closes #5813) +Files: .travis.yml, ci/load-snd-dummy.sh + +Patch 8.2.0418 +Problem: Code in eval.c not sufficiently covered by tests. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5815) +Files: src/testdir/test_blob.vim, src/testdir/test_channel.vim, + src/testdir/test_cmdline.vim, src/testdir/test_eval_stuff.vim, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_job_fails.vim, src/testdir/test_lambda.vim, + src/testdir/test_let.vim, src/testdir/test_listdict.vim, + src/testdir/test_marks.vim, src/testdir/test_method.vim, + src/testdir/test_normal.vim, src/testdir/test_unlet.vim, + src/testdir/test_usercommands.vim, src/testdir/test_vimscript.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0419 +Problem: Various memory leaks in Vim9 script code. +Solution: Fix the leaks. (Ozaki Kiichi, closes #5814) +Files: src/proto/vim9compile.pro, src/scriptfile.c, src/structs.h, + src/testdir/test_vim9_script.vim, src/vim9.h, src/vim9compile.c, + src/vim9execute.c, src/vim9script.c + +Patch 8.2.0420 +Problem: Vim9: cannot interrupt a loop with CTRL-C. +Solution: Check for CTRL-C once in a while. Doesn't fully work yet. +Files: src/misc1.c, src/proto/misc1.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.0421 +Problem: Interrupting with CTRL-C does not always work. +Solution: Recognize CTRL-C while modifyOtherKeys is set. +Files: src/ui.c, src/testdir/test_vim9_script.vim, src/evalfunc.c + +Patch 8.2.0422 +Problem: Crash when passing popup window to win_splitmove(). (john Devin) +Solution: Disallow moving a popup window. (closes #5816) +Files: src/testdir/test_popupwin.vim, src/evalwindow.c + +Patch 8.2.0423 +Problem: In some environments a few tests are expected to fail. +Solution: Add $TEST_MAY_FAIL to list tests that should not cause make to + fail. +Files: src/testdir/runtest.vim + +Patch 8.2.0424 +Problem: Checking for wrong return value. (Tom) +Solution: Invert the check and fix the test. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0425 +Problem: Code for modeless selection not sufficiently tested. +Solution: Add tests. Move mouse code functionality to a common script file. + (Yegappan Lakshmanan, closes #5821) +Files: src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim, + src/testdir/mouse.vim, src/testdir/test_edit.vim, + src/testdir/test_global.vim, src/testdir/test_modeless.vim, + src/testdir/test_normal.vim, src/testdir/test_selectmode.vim, + src/testdir/test_termcodes.vim, src/testdir/test_visual.vim, + src/ui.c + +Patch 8.2.0426 +Problem: Some errors were not tested for. +Solution: Add tests. (Dominique Pellé, closes #5824) +Files: src/testdir/test_buffer.vim, src/testdir/test_options.vim, + src/testdir/test_tcl.vim, src/testdir/test_terminal.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0427 +Problem: It is not possible to check for a typo in a feature name. +Solution: Add an extra argument to has(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/check.vim, + src/testdir/test_functions.vim + +Patch 8.2.0428 +Problem: Buffer name may leak. +Solution: Free the buffer name before overwriting it. +Files: src/terminal.c + +Patch 8.2.0429 +Problem: No warning when test checks for option that never exists. +Solution: In tests check that the option can exist. +Files: src/testdir/check.vim + +Patch 8.2.0430 +Problem: Window creation failure not properly tested. +Solution: Improve the test. (Yegappan Lakshmanan, closes #5826) +Files: src/testdir/test_cmdline.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0431 +Problem: Some compilers don't support using \e for Esc. (Yegappan + Lakshmanan) +Solution: use \033 instead. +Files: src/ui.c + +Patch 8.2.0432 +Problem: A few tests fail in a huge terminal. +Solution: Make the tests pass. (Dominique Pellé, closes #5829) +Files: src/testdir/test_autocmd.vim, src/testdir/test_options.vim, + src/testdir/test_termcodes.vim, src/testdir/test_terminal.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0433 +Problem: INT signal not properly tested. +Solution: Add a test. Also clean up some unnecessary lines. (Dominique + Pellé, closes #5828) +Files: src/testdir/test_display.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_messages.vim, + src/testdir/test_signals.vim + +Patch 8.2.0434 +Problem: MS-Windows with VTP: Normal color not working. +Solution: After changing the Normal color update the VTP console color. + (Nobuhiro Takasaki, closes #5836) +Files: src/highlight.c + +Patch 8.2.0435 +Problem: Channel contents might be freed twice. +Solution: Call either channel_free_channel() or channel_free(), not both. + (Nobuhiro Takasaki, closes #5835) +Files: src/channel.c + +Patch 8.2.0436 +Problem: No warnings for incorrect printf arguments. +Solution: Fix attribute in declaration. Fix uncovered mistakes. (Dominique + Pellé, closes #5834) +Files: src/proto.h, src/eval.c, src/ops.c, src/spellfile.c, + src/vim9compile.c, src/vim9execute.c, src/viminfo.c, src/gui.c + +Patch 8.2.0437 +Problem: MS-Windows installer contains old stuff. +Solution: Rely on Windows NT. (Ken Takata, closes #5832) +Files: src/dosinst.c + +Patch 8.2.0438 +Problem: Terminal noblock test is very flaky on BSD. +Solution: Change WaitFor() to WaitForAssert() to be able to see why it + failed. Add a short wait in between sending keys. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0439 +Problem: :disassemble has minor flaws. +Solution: Format the code. Use (int) instead of (char) for %c. + (also by James McCoy, closes #5831) +Files: src/vim9execute.c + +Patch 8.2.0440 +Problem: Terminal noblock test is still very flaky on BSD. +Solution: Increase the waiting time. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0441 +Problem: Terminal noblock test is still failing on BSD. +Solution: Reduce the amount of text. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0442 +Problem: Channel contents might be used after being freed. +Solution: Reset the job channel before freeing the channel. +Files: src/channel.c + +Patch 8.2.0443 +Problem: Clipboard code is spread out. +Solution: Move clipboard code to its own file. (Yegappan Lakshmanan, + closes #5827) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/clipboard.c, src/ops.c, src/proto.h, src/proto/clipboard.pro, + src/proto/ops.pro, src/proto/register.pro, src/proto/ui.pro, + src/register.c, src/ui.c + +Patch 8.2.0444 +Problem: Swap file test fails on some systems. +Solution: Preserve the swap file. Send NL terminated keys. +Files: src/testdir/test_swap.vim + +Patch 8.2.0445 +Problem: Png and xpm files not in MS-Windows zip file. +Solution: Move files to shared between Unix and Windows target. +Files: Filelist + +Patch 8.2.0446 +Problem: Listener with undo of deleting all lines not tested. +Solution: Add a test. +Files: src/testdir/test_listener.vim + +Patch 8.2.0447 +Problem: Terminal scroll tests fails on some systems. +Solution: Remove the fixed 100msec wait for Win32. Add a loop to wait until + scrolling has finished. (James McCoy, closes #5842) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0448 +Problem: Various functions not properly tested. +Solution: Add more tests, especially for failures. (Yegappan Lakshmanan, + closes #5843) +Files: runtime/doc/eval.txt, src/testdir/test_blob.vim, + src/testdir/test_breakindent.vim, src/testdir/test_charsearch.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_exists.vim, src/testdir/test_expand_func.vim, + src/testdir/test_expr.vim, src/testdir/test_file_perm.vim, + src/testdir/test_functions.vim, src/testdir/test_gui.vim, + src/testdir/test_listdict.vim, src/testdir/test_marks.vim, + src/testdir/test_partial.vim, src/testdir/test_registers.vim, + src/testdir/test_search.vim, src/testdir/test_spell.vim, + src/testdir/test_substitute.vim, src/testdir/test_syn_attr.vim, + src/testdir/test_syntax.vim, src/testdir/test_taglist.vim, + src/testdir/test_utf8.vim, src/testdir/test_vartabs.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0449 +Problem: Vim9: crash if return type is invalid. (Yegappan Lakshmanan) +Solution: Always return some type, not NULL. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0450 +Problem: Not enough testing for restricted mode and function calls. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5847) +Files: src/testdir/test_method.vim, src/testdir/test_restricted.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0451 +Problem: Win32: double-width character displayed incorrectly. +Solution: First move the cursor to the first column. (Nobuhiro Takasaki, + closes #5848) +Files: src/os_win32.c + +Patch 8.2.0452 +Problem: channel_parse_messages() fails when called recursively. +Solution: Return for a recursive call. (closes #5835) +Files: src/channel.c + +Patch 8.2.0453 +Problem: Trailing space in job_start() command causes empty argument. +Solution: Ignore trailing space. (closes #5851) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.2.0454 +Problem: Some tests fail when the system is slow. +Solution: Make the run number global, use in the test to increase the + waiting time. (closes #5841) +Files: src/testdir/runtest.vim, src/testdir/test_functions.vim + +Patch 8.2.0455 +Problem: Cannot set the highlight group for a specific terminal. +Solution: Add the "highlight" option to term_start(). (closes #5818) +Files: src/terminal.c, src/structs.h, src/channel.c, + src/testdir/test_terminal.vim, runtime/doc/terminal.txt, + src/testdir/dumps/Test_terminal_popup_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_MyTermCol.dump + +Patch 8.2.0456 +Problem: Test_confirm_cmd is flaky. +Solution: Add a term_wait() call. (closes #5854) +Files: src/testdir/test_excmd.vim + +Patch 8.2.0457 +Problem: Test_quotestar() often fails when run under valgrind. +Solution: Wait longer for the GUI to start. +Files: src/testdir/test_quotestar.vim + +Patch 8.2.0458 +Problem: Missing feature check in test function. +Solution: Add check commands. +Files: src/testdir/test_excmd.vim + +Patch 8.2.0459 +Problem: Cannot check if a function name is correct. +Solution: Add "?funcname" to exists(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_exists.vim, + src/testdir/check.vim + +Patch 8.2.0460 (after 8.2.0459) +Problem: Build failure because of wrong feature name. +Solution: Correct feature name. +Files: src/evalfunc.c + +Patch 8.2.0461 +Problem: Confirm test fails on amd64 system. (Alimar Riesebieter) +Solution: Add an extra WaitForAssert(). (Dominique Pellé) +Files: src/testdir/test_excmd.vim + +Patch 8.2.0462 +Problem: Previewwindow test fails on some systems. (James McCoy) +Solution: Wait a bit after sending the "o". (closes #5849) +Files: src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_and_previewwindow_01.dump + +Patch 8.2.0463 +Problem: Build error without float and channel feature. (John Marriott) +Solution: Define return types always. +Files: src/globals.h, src/evalfunc.c + +Patch 8.2.0464 +Problem: Typos and other small problems. +Solution: Fix the typos. Add missing files to the distribution. +Files: Filelist, src/buffer.c, src/drawline.c, src/gui_gtk_x11.c, + src/os_unixx.h, src/proto/popupwin.pro + +Patch 8.2.0465 +Problem: Vim9: dead code and wrong return type. +Solution: Remove dead code. Fix return type. Add more tests. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0466 (after 8.2.0452) +Problem: Not parsing messages recursively breaks the govim plugin. +Solution: When called recursively do handle messages but do not close + channels. +Files: src/channel.c + +Patch 8.2.0467 +Problem: Vim9: some errors are not tested +Solution: Add more tests. Fix that Vim9 script flag is not reset. +Files: src/vim9compile.c, src/scriptfile.c, src/dict.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0468 +Problem: GUI: pixel dust with some fonts and characters. +Solution: Always redraw the character before the cursor. (Nir Lichtman, + closes #5549, closes #5856) +Files: src/gui.c, src/proto/gui.pro, src/screen.c + +Patch 8.2.0469 +Problem: Vim9: no error for missing ] after list. +Solution: Add error message. Add more tests. +Files: src/globals.h, src/list.c, src/userfunc.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_lambda.vim + +Patch 8.2.0470 +Problem: Test_confirm_cmd_cancel() can fail on a slow system. +Solution: Use WaitForAssert(). (Ozaki Kiichi, closes #5861) +Files: src/testdir/test_excmd.vim + +Patch 8.2.0471 +Problem: Missing change to compile_list(). +Solution: Add error message. +Files: src/vim9compile.c + +Patch 8.2.0472 +Problem: Terminal highlight name is set twice, leaking memory. +Solution: Delete one. +Files: src/terminal.c + +Patch 8.2.0473 +Problem: Variables declared in an outer scope. +Solution: Declare variables only in the scope where they are used. +Files: src/evalvars.c + +Patch 8.2.0474 (after 8.2.0403) +Problem: Cannot use :write when using a plugin with BufWriteCmd. +Solution: Reset BF_NOTEDITED after BufWriteCmd. (closes #5807) +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 8.2.0475 +Problem: Channel out_cb test still fails sometimes on Mac. +Solution: Use an even longer timeout. +Files: src/testdir/test_channel.vim + +Patch 8.2.0476 +Problem: Terminal nasty callback test fails sometimes. +Solution: use term_wait() instead of a sleep. (Yee Cheng Chin, closes #5865) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0477 +Problem: Vim9: error messages not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim, src/vim9execute.c + +Patch 8.2.0478 +Problem: New buffers are not added to the Buffers menu. +Solution: Turn number into string. (Yee Cheng Chin, closes #5864) +Files: runtime/menu.vim, src/testdir/test_menu.vim + +Patch 8.2.0479 +Problem: Unloading shared libraries on exit has no purpose. +Solution: Do not unload shared libraries on exit. +Files: src/if_lua.c, src/if_perl.xs, src/if_python.c, src/if_python3.c, + src/if_ruby.c, src/if_tcl.c + +Patch 8.2.0480 +Problem: Vim9: some code is not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c + +Patch 8.2.0481 +Problem: Travis is still using trusty. +Solution: Adjust config to use bionic. (Ozaki Kiichi, closes #5868) +Files: .travis.yml, src/testdir/lsan-suppress.txt + +Patch 8.2.0482 +Problem: Channel and sandbox code not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5855) +Files: src/option.h, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_normal.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_restricted.vim, src/testdir/test_smartindent.vim, + src/testdir/test_substitute.vim, src/testdir/test_terminal.vim, + src/testdir/test_textformat.vim, src/testdir/test_visual.vim + +Patch 8.2.0483 +Problem: Vim9: "let x = x + 1" does not give an error. +Solution: Hide the variable when compiling the expression. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0484 +Problem: Vim9: some error messages not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0485 (after 8.2.0483) +Problem: Vim9 script test fails. +Solution: Stricter condition for adding new local variable. +Files: Stricter condition for adding new local variable. + +Patch 8.2.0486 +Problem: Vim9: some code and error messages not tested. +Solution: Add more tests. +Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0487 +Problem: Vim9: compiling not sufficiently tested. +Solution: Add more tests. Fix bug with PCALL. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0488 +Problem: Vim9: Compiling can break when using a lambda inside :def. +Solution: Do not keep a pointer to the dfunc_T for longer time. +Files: src/vim9compile.c, src/vim9.h + +Patch 8.2.0489 +Problem: Vim9: memory leaks. +Solution: Free memory in the right place. Add hints for using asan. +Files: src/vim9compile.c, src/testdir/lsan-suppress.txt, src/Makefile + +Patch 8.2.0490 +Problem: Win32: VTP doesn't respect 'restorescreen'. +Solution: Use escape codes to switch to alternate screen. (Nobuhiro + Takasaki, closes #5872) +Files: src/os_win32.c + +Patch 8.2.0491 +Problem: Cannot recognize a <script> mapping using maparg(). +Solution: Add the "script" key. (closes #5873) +Files: src/map.c, runtime/doc/eval.txt, src/testdir/test_maparg.vim + +Patch 8.2.0492 +Problem: Vim9: some error messages not tested. +Solution: Add more tests. Remove dead code. Fix uncovered bugs. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0493 +Problem: Vim9: some error messages not tested. +Solution: Add more tests. Fix uncovered bugs. +Files: src/vim9compile.c, src/vim9execute.c, src/testing.c, src/eval.c, + src/proto/testing.pro, src/evalfunc.c, runtime/doc/eval.txt, + runtime/doc/testing.txt, src/testdir/test_vim9_script.vim + +Patch 8.2.0494 +Problem: Vim9: asan error. +Solution: Only get the type when there is one. +Files: src/vim9compile.c + +Patch 8.2.0495 +Problem: Vim9: some code not tested. +Solution: Add more tests. Support more const expressions. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0496 +Problem: Vim9: disassemble test fails. +Solution: Separate test cases with recognized constant expressions. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0497 +Problem: Too verbose output from the asan build in Travis. +Solution: Filter out suppression messages. (Ozaki Kiichi, closes #5874) +Files: .travis.yml + +Patch 8.2.0498 +Problem: Coverity complains about uninitialized field. +Solution: Initialize the whole typval_T. +Files: src/vim9compile.c + +Patch 8.2.0499 +Problem: Calling a lambda is slower than evaluating a string. +Solution: Make calling a lambda faster. (Ken Takata, closes #5727) +Files: src/userfunc.c + +Patch 8.2.0500 +Problem: Using the same loop in many places. +Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339) +Files: src/arglist.c, src/autocmd.c, src/buffer.c, src/change.c, + src/channel.c, src/cmdexpand.c, src/diff.c, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/ex_cmds2.c, src/filepath.c, src/globals.h, + src/gui.c, src/if_py_both.h, src/if_ruby.c, src/insexpand.c, + src/list.c, src/misc2.c, src/netbeans.c, src/popupwin.c, + src/quickfix.c, src/screen.c, src/sign.c, src/spell.c, + src/spellfile.c, src/spellsuggest.c, src/tag.c, src/terminal.c, + src/userfunc.c, src/window.c + +Patch 8.2.0501 +Problem: Vim9: script test fails when channel feature is missing. +Solution: Add a has() condition. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0502 +Problem: Vim9: some code is not tested. +Solution: Add more tests. Fix uncovered problems. +Files: src/vim9compile.c, src/regexp.c, src/proto/regexp.pro, + src/cmdexpand.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, + src/ex_getln.c, src/highlight.c, src/search.c, src/syntax.c, + src/tag.c, src/userfunc.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0503 +Problem: Vim9: some code is not tested. +Solution: Add tests. Fix uncovered problems. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0504 +Problem: Vim9: leaking scope memory when compilation fails. +Solution: Cleanup the scope list. +Files: src/vim9compile.c + +Patch 8.2.0505 +Problem: term_gettty() not sufficiently tested. +Solution: Add more asserts. (Dominique Pellé, closes #5877) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0506 +Problem: Coverity complains about ignoring return value. +Solution: Add (void). +Files: src/userfunc.c + +Patch 8.2.0507 (after 8.2.0472) +Problem: Getbufvar() may get the wrong dictionary. (David le Blanc) +Solution: Check for empty name. (closes #5878) +Files: src/evalvars.c, src/testdir/test_functions.vim + +Patch 8.2.0508 +Problem: Vim9: func and partial types not done yet +Solution: Fill in details about func declaration, drop a separate partial + declaration. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/globals.h, + src/structs.h, src/evalfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0509 +Problem: various code is not properly tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5871) +Files: src/main.c, src/testdir/check.vim, src/testdir/shared.vim, + src/testdir/term_util.vim, src/testdir/test_clientserver.vim, + src/testdir/test_ex_mode.vim, src/testdir/test_expand.vim, + src/testdir/test_functions.vim, src/testdir/test_options.vim, + src/testdir/test_startup.vim, src/testdir/test_textformat.vim, + src/testdir/test_trycatch.vim, src/testdir/test_viminfo.vim + +Patch 8.2.0510 +Problem: Coverity complains about using uninitialized variable. +Solution: Assign a value to "scol". Move code inside NULL check. +Files: src/beval.c, src/popupwin.c + +Patch 8.2.0511 +Problem: Cscope code not fully tested. +Solution: Add more test cases. (Dominique Pellé, closes #5886) +Files: src/testdir/test_cscope.vim + +Patch 8.2.0512 +Problem: Vim9: no optional arguments in func type. +Solution: Check for question mark after type. Find function reference + without function(). +Files: src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/globals.h, src/vim.h, src/vim9.h, src/userfunc.c, + src/testdir/Make_all.mak, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0513 +Problem: Reading past allocated memory when using varargs. +Solution: Fix copying function argument types. +Files: src/vim9compile.c + +Patch 8.2.0514 +Problem: Several global functions are used in only one file. +Solution: Make the functions static. (Yegappan Lakshmanan, closes #5884) +Files: src/drawscreen.c, src/evalvars.c, src/getchar.c, src/list.c, + src/proto/drawscreen.pro, src/proto/evalvars.pro, + src/proto/getchar.pro, src/proto/list.pro, src/proto/version.pro, + src/version.c + +Patch 8.2.0515 +Problem: Some compilers cannot add to "void *". +Solution: Cast to "char *". +Files: src/vim9compile.c + +Patch 8.2.0516 +Problem: Client-server code is spread out. +Solution: Move client-server code to a new file. (Yegappan Lakshmanan, + closes #5885) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/clientserver.c, src/evalfunc.c, src/main.c, src/proto.h, + src/proto/clientserver.pro, src/proto/main.pro + +Patch 8.2.0517 +Problem: Vim9: cannot separate "func" and "func(): void". +Solution: Use VAR_ANY for "any" and VAR_UNKNOWN for "no type". +Files: src/structs.h, src/globals.h, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/testing.c, src/vim9compile.c, + src/vim9execute.c, src/viminfo.c, src/if_py_both.h, src/json.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0518 +Problem: A terminal falls back to setting $TERM to "xterm". +Solution: Use "xterm-color" if more than 16 colors are supported and + "xterm-256color" if at least 256 colors are supported. + (closes #5887) +Files: src/os_unix.c + +Patch 8.2.0519 +Problem: Vim9: return type not properly checked. +Solution: Check type properly, also at runtime. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0520 +Problem: Tests are not listed in sorted order. +Solution: Move test_ex_mode. (Doug Richardson, closes #5889) +Files: src/testdir/Make_all.mak + +Patch 8.2.0521 +Problem: Crash when reading a blob fails. +Solution: Avoid keeping a pointer to a freed blob object. (Dominique Pellé, + closes #5890) Adjust error messages. +Files: src/filepath.c, src/testdir/test_blob.vim + +Patch 8.2.0522 +Problem: Several errors are not tested for. +Solution: Add tests. (Yegappan Lakshmanan, closes #5892) +Files: src/testdir/test_autocmd.vim, src/testdir/test_clientserver.vim, + src/testdir/test_digraph.vim, src/testdir/test_expand.vim, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_gui.vim, src/testdir/test_highlight.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_lambda.vim, + src/testdir/test_listdict.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_preview.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, + src/testdir/test_vimscript.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0523 +Problem: Loops are repeated. +Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882) +Files: src/buffer.c, src/drawscreen.c, src/evalfunc.c, src/evalwindow.c, + src/globals.h, src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, + src/gui_w32.c, src/list.c, src/menu.c, src/popupmenu.c, + src/popupwin.c, src/quickfix.c, src/syntax.c, src/time.c, + src/userfunc.c, src/vim9compile.c + +Patch 8.2.0524 +Problem: Win32: searching for file matches is slow. +Solution: Instead of making another round to find any short filename, check + for the short name right away. Avoid using an ordinary file like a + directory. (Nir Lichtman, closes #5883) +Files: src/filepath.c + +Patch 8.2.0525 (after 8.2.0524) +Problem: Win32: typo in assignment and misplaced paren. +Solution: Fix the syntax. +Files: src/filepath.c + +Patch 8.2.0526 +Problem: Gcc 9 complains about empty statement. +Solution: Add {}. (Dominique Pellé, closes #5894) +Files: src/evalfunc.c + +Patch 8.2.0527 +Problem: Vim9: function types insufficiently tested. +Solution: Add more tests. Fix white space check. Add "test_vim9" target. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, src/Makefile, + src/testdir/Makefile, src/testdir/Make_all.mak + +Patch 8.2.0528 +Problem: Vim9: function arguments insufficiently tested. +Solution: Check types. Add more tests. Fix function with varargs only. +Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0529 +Problem: Vim9: function argument with default not checked. +Solution: Check type of argument with default value. +Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0530 +Problem: Test crashes on s390. (James McCoy) +Solution: Explicitly define an 8 big signed type. (closes #5897) +Files: src/structs.h + +Patch 8.2.0531 +Problem: Various errors not tested. +Solution: Add tests. (Yegappan Lakshmanan, closes #5895) +Files: src/testdir/test_search.vim, src/testdir/test_source.vim, + src/testdir/test_syntax.vim, src/testdir/test_user_func.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0532 +Problem: Cannot use simplify() as a method. +Solution: Add FEARG_1. (closes #5896) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.0533 +Problem: Tests using term_wait() can still be flaky. +Solution: Increase the wait time when rerunning a test. (James McCoy, + closes #5899) Halve the initial times to make tests run faster + when there is no rerun. +Files: src/testdir/term_util.vim, src/testdir/test_arglist.vim, + src/testdir/test_autocmd.vim, src/testdir/test_balloon.vim, + src/testdir/test_bufline.vim, src/testdir/test_channel.vim, + src/testdir/test_cmdline.vim, src/testdir/test_conceal.vim, + src/testdir/test_cursorline.vim, src/testdir/test_debugger.vim, + src/testdir/test_diffmode.vim, src/testdir/test_display.vim, + src/testdir/test_functions.vim, src/testdir/test_highlight.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_mapping.vim, + src/testdir/test_match.vim, src/testdir/test_matchadd_conceal.vim, + src/testdir/test_messages.vim, src/testdir/test_number.vim, + src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_search.vim, + src/testdir/test_search_stat.vim, src/testdir/test_startup.vim, + src/testdir/test_startup_utf8.vim, + src/testdir/test_statusline.vim, src/testdir/test_suspend.vim, + src/testdir/test_swap.vim, src/testdir/test_tagjump.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal_fail.vim, + src/testdir/test_timers.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0534 +Problem: Client-server test fails under valgrind. +Solution: Use WaitForAssert(). +Files: src/testdir/test_clientserver.vim + +Patch 8.2.0535 +Problem: Regexp patterns not fully tested. +Solution: Add more regexp tests and others. (Yegappan Lakshmanan, + closes #5901) +Files: src/testdir/test_marks.vim, src/testdir/test_options.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_search.vim + +Patch 8.2.0536 +Problem: Vim9: some compilation code not tested. +Solution: Add more test cases. +Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0537 +Problem: Vim9: no check for sandbox when setting v:var. +Solution: Check for sandbox. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0538 +Problem: Vim9: VAR_PARTIAL is not used during compilation. +Solution: Remove VAR_PARTIAL. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0539 +Problem: Comparing two NULL list fails. +Solution: Change the order of comparing two lists. +Files: src/list.c, src/testdir/test_assert.vim + +Patch 8.2.0540 +Problem: Regexp and other code not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5904) +Files: src/testdir/test_backspace_opt.vim, src/testdir/test_expr.vim, + src/testdir/test_increment.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_regexp_latin.vim, + src/testdir/test_search.vim, src/testdir/test_substitute.vim, + src/testdir/test_terminal.vim, src/testdir/test_virtualedit.vim + +Patch 8.2.0541 +Problem: Travis CI does not give compiler warnings. +Solution: Add flags for warnings. Fix uncovered problems. (Ozaki Kiichi, + closes #5898) +Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, + ci/config.mk.sed, src/if_perl.xs, src/if_ruby.c, + src/libvterm/t/harness.c + +Patch 8.2.0542 +Problem: No test for E386. +Solution: Add a test. (Dominique Pellé, closes #5911) +Files: src/testdir/test_search.vim + +Patch 8.2.0543 +Problem: Vim9: function with varargs does not work properly. +Solution: Improve function type spec and add tests. Fix bugs. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9execute.c, + src/structs.h, src/testdir/test_vim9_func.vim + +Patch 8.2.0544 +Problem: Memory leak in search test. +Solution: Free msgbuf. (Dominique Pellé, closes #5912) +Files: src/search.c + +Patch 8.2.0545 +Problem: Unused arguments ignored in non-standard way. +Solution: Add UNUSED instead of (void). +Files: src/libvterm/t/harness.c + +Patch 8.2.0546 +Problem: Vim9: varargs implementation is inefficient. +Solution: Create list without moving the arguments. +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0547 +Problem: Win32: restoring screen not always done right. +Solution: Use a more appropriate method. (Nobuhiro Takasaki, closes #5909) +Files: src/os_win32.c + +Patch 8.2.0548 +Problem: Vim9: not all possible func type errors tested. +Solution: Add more tests. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0549 +Problem: User systemd files not recognized. +Solution: Add filetype patterns. (Kevin Locke, closes #5914) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0550 +Problem: Some changes in the libvterm upstream code. +Solution: Include some changes. +Files: src/libvterm/t/harness.c + +Patch 8.2.0551 +Problem: Not all code for options is tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5913) +Files: src/testdir/test_options.vim, src/testdir/test_python3.vim, + src/testdir/test_undo.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0552 +Problem: Vim9: some errors not covered by tests. +Solution: Add more tests. Check Funcref argument types. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0553 (after 8.2.0550) +Problem: Error for unused argument. +Solution: Add UNUSED. +Files: src/libvterm/t/harness.c + +Patch 8.2.0554 +Problem: The GUI doesn't set t_Co. +Solution: In the GUI set t_Co to 256 * 256 * 256. (closes #5903) +Files: src/term.c, src/proto/term.pro, src/gui.c, + src/testdir/test_gui.vim + +Patch 8.2.0555 +Problem: Vim9: line continuation is not always needed. +Solution: Recognize continuation lines automatically in list and dict. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0556 +Problem: Vim9: memory leak when finding common type. +Solution: Store allocated memory in type growarray. +Files: src/vim9compile.c + +Patch 8.2.0557 +Problem: No IPv6 support for channels. +Solution: Add IPv6 support. (Ozaki Kiichi, closes #5893) +Files: .travis.yml, runtime/doc/channel.txt, runtime/doc/various.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/channel.c, src/config.h.in, src/configure.ac, src/evalfunc.c, + src/proto/channel.pro, src/testdir/check.vim, + src/testdir/runtest.vim, src/testdir/test_cdo.vim, + src/testdir/test_channel.py, src/testdir/test_channel.vim, + src/testdir/test_channel_6.py, src/testdir/test_escaped_glob.vim, + src/testdir/test_getcwd.vim, src/testdir/test_hide.vim + +Patch 8.2.0558 +Problem: Vim9: dict code not covered by tests. +Solution: Remove dead code, adjust test case. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0559 +Problem: Clearing a struct is verbose. +Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). +Files: src/vim.h, src/blowfish.c, src/channel.c, src/charset.c, + src/clipboard.c, src/diff.c, src/eval.c, src/evalfunc.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/findfile.c, + src/gui_gtk_f.c, src/gui_mac.c, src/gui_motif.c, src/gui_w32.c, + src/gui_x11.c, src/hardcopy.c, src/hashtab.c, src/highlight.c, + src/if_mzsch.c, src/insexpand.c, src/kword_test.c, src/list.c, + src/main.c, src/map.c, src/memfile.c, src/message_test.c, + src/misc1.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c, src/os_mswin.c, src/os_win32.c, src/popupmenu.c, + src/quickfix.c, src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c, + src/search.c, src/sign.c, src/spell.c, src/spellfile.c, + src/spellsuggest.c, src/syntax.c, src/tag.c, src/terminal.c, + src/time.c, src/undo.c, src/userfunc.c, src/vim9compile.c, + src/vim9execute.c, src/if_py_both.h + +Patch 8.2.0560 +Problem: Compiler warning in tiny build. +Solution: Move declaration inside #ifdef. (Dominique Pellé, closes #5915) +Files: src/ex_docmd.c + +Patch 8.2.0561 +Problem: Vim9: cannot split function call in multiple lines. +Solution: Find more arguments in following lines. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0562 +Problem: Vim9: cannot split an expression into multiple lines. +Solution: Continue in next line after an operator. +Files: runtime/doc/vim9.txt, src/macros.h, src/vim9compile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0563 +Problem: Vim9: cannot split a function line. +Solution: Continue in next line so long as the function isn't done. +Files: runtime/doc/vim9.txt, src/userfunc.c, src/proto/userfunc.pro, + src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0564 +Problem: Vim9: calling a def function from non-vim9 may fail. +Solution: Convert varargs to a list. +Files: src/testdir/test_vim9_func.vim, src/vim9execute.c + +Patch 8.2.0565 +Problem: Vim9: tests contain superfluous line continuation. +Solution: Remove line continuation no longer needed. Skip empty lines. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0566 +Problem: Vim9: variable can be used uninitialized. +Solution: Jump to after where variable is used. +Files: src/vim9execute.c + +Patch 8.2.0567 +Problem: Vim9: cannot put comments halfway expressions. +Solution: Support # comments in many places. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, + src/ex_docmd.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0568 +Problem: The man filetype plugin overwrites the unnamed register. +Solution: Use the black hole register. (Jason Franklin) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim + +Patch 8.2.0569 +Problem: Build failure with tiny version. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.0570 +Problem: Vim9: no error when omitting type from argument. +Solution: Enforce specifying argument types. +Files: src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0571 +Problem: Double free when passing invalid argument to job_start(). +Solution: Clear the argument when freed. (Masato Nishihata, closes #5926) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.2.0572 (after 8.2.0571) +Problem: Using two lines for free and reset. +Solution: Use VIM_CLEAR() instead. (Yegappan Lakshmanan) +Files: src/misc2.c + +Patch 8.2.0573 +Problem: using :version twice leaks memory +Solution: Only initialize variables once. (Dominique Pellé, closes #5917) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_version.vim, src/version.c, src/globals.h + +Patch 8.2.0574 +Problem: Ipv6 feature not shown in :version output. +Solution: Add ipv6 in :version output. (Ozaki Kiichi, closes #5924) +Files: runtime/doc/eval.txt, src/version.c + +Patch 8.2.0575 +Problem: :digraph! not tested. +Solution: Add a test. (Dominique Pellé, closes #5925) +Files: src/testdir/test_digraph.vim + +Patch 8.2.0576 +Problem: Some errors are not covered by tests. +Solution: Add a few more tests. (Dominique Pellé, closes #5920) +Files: src/testdir/test_buffer.vim, src/testdir/test_digraph.vim, + src/testdir/test_expr.vim, src/testdir/test_messages.vim + +Patch 8.2.0577 +Problem: Not all modifiers supported for :options. +Solution: Use all cmdmod.split flags. (closes #4401) +Files: src/usercmd.c, src/proto/usercmd.pro, src/scriptfile.c, + src/testdir/test_options.vim, src/testdir/test_usercommands.vim + +Patch 8.2.0578 +Problem: Heredoc for interfaces does not support "trim". +Solution: Update the script heredoc support to be same as the :let command. + (Yegappan Lakshmanan, closes #5916) +Files: runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt, + runtime/doc/if_perl.txt, runtime/doc/if_pyth.txt, + runtime/doc/if_ruby.txt, runtime/doc/if_tcl.txt, src/evalvars.c, + src/ex_getln.c, src/proto/evalvars.pro, src/testdir/test86.in, + src/testdir/test87.in, src/testdir/test_lua.vim, + src/testdir/test_perl.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, + src/testdir/test_pyx3.vim, src/testdir/test_ruby.vim, + src/testdir/test_tcl.vim, src/userfunc.c, src/vim9compile.c + +Patch 8.2.0579 +Problem: Coverity warns for unused value. +Solution: Change order and use "else if". +Files: src/os_unix.c + +Patch 8.2.0580 +Problem: Window size wrong if 'ea' is off and 'splitright' is on and + splitting then closing a window. +Solution: Put abandoned window space in the right place. (Mark Waggoner) +Files: src/testdir/test_winbuf_close.vim, src/window.c + +Patch 8.2.0581 (after 8.2.0547) +Problem: Win32 console: the cursor position is always top-left. +Solution: Revert the patch for restoring screen. +Files: src/os_win32.c + +Patch 8.2.0582 +Problem: Color ramp test does not show text colors. +Solution: Add a row of 16 text colors and 16 bold text colors. +Files: src/testdir/color_ramp.vim + +Patch 8.2.0583 +Problem: Vim9: # comment not recognized in :def function. +Solution: Recognize and skip # comment. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0584 +Problem: Viminfo file uses obsolete function file_readable(). +Solution: Use filereadable(). (closes #5934) +Files: src/session.c + +Patch 8.2.0585 +Problem: Vim9: # comment not recognized after :vim9script. +Solution: Check script type. Make comment after ":echo" work. And in + several other places. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/eval.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0586 +Problem: Vim9: # comment not sufficiently tested +Solution: Check for preceding white space. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0587 +Problem: Compiler warning for unused variable. +Solution: Add UNUSED. +Files: src/ex_docmd.c + +Patch 8.2.0588 +Problem: Putty does not use "sgr" 'ttymouse' by default. +Solution: Make "sgr" the default for Putty. (Christian Brabandt, + closes #5942) +Files: src/term.c + +Patch 8.2.0589 +Problem: .bsd file type not recognized. +Solution: Recognize .bsd as BSDL. (Daniel Kho, closes #5945) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0590 +Problem: No 'backspace' value allows ignoring the insertion point. +Solution: Add the "nostop" and 3 values. (Christian Brabandt, closes #5940) +Files: runtime/doc/options.txt, src/edit.c, src/option.c, src/option.h, + src/optionstr.c, src/testdir/gen_opt_test.vim, + src/testdir/test_backspace_opt.vim + +Patch 8.2.0591 +Problem: MS-Windows: should always support IPv6 +Solution: Add build flag. (Ozaki Kiichi, closes #5944) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.0592 +Problem: MS-Windows with VTP: cursor is not made invisible. +Solution: Output the code to make the cursor visible or invisible. (Nobuhiro + Takasaki, closes #5941) +Files: src/os_win32.c + +Patch 8.2.0593 +Problem: Finding a user command is not optimal. +Solution: Start further down in the list of commands. +Files: src/ex_cmds.h, src/ex_docmd.c + +Patch 8.2.0594 +Problem: MS-Windows: cannot build with WINVER set to 0x0501. +Solution: Only use inet_ntop() when available. (Ozaki Kiichi, closes #5946) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/channel.c, src/config.h.in, src/configure.ac + +Patch 8.2.0595 +Problem: Vim9: not all commands using ends_excmd() tested. +Solution: Find # comment after regular commands. Add more tests. Report + error for where it was caused. +Files: src/ex_docmd.c, src/vim9compile.c, src/vim9execute.c, src/usercmd.c, + src/evalfunc.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0596 +Problem: Crash in test49. +Solution: Check the right pointer. +Files: src/userfunc.c, src/testdir/test_eval.ok + +Patch 8.2.0597 +Problem: Test_eval is old style. +Solution: Change some tests to a new style test. +Files: src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_stuff.vim + +Patch 8.2.0598 +Problem: Test_eval_stuff fails in normal terminal. +Solution: Close the new window. +Files: src/testdir/test_eval_stuff.vim + +Patch 8.2.0599 +Problem: Netbeans interface insufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5921) +Files: runtime/doc/netbeans.txt, src/netbeans.c, src/os_win32.c, + src/testdir/runtest.vim, src/testdir/test_netbeans.py, + src/testdir/test_netbeans.vim + +Patch 8.2.0600 +Problem: Vim9: cannot read or write w:, t: and b: variables. +Solution: Implement load and store for w:, t: and b: variables. + (closes #5950) +Files: src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0601 +Problem: Vim9: :unlet is not compiled. +Solution: Implement :unlet instruction and check for errors. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9.h, + src/vim9execute.c, src/evalvars.c, src/proto/evalvars.pro, + src/eval.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0602 +Problem: :unlet $VAR does not work properly. +Solution: Make ":lockvar $VAR" fail. Check the "skip" flag. +Files: src/evalvars.c, src/globals.h, src/testdir/test_vimscript.vim + +Patch 8.2.0603 +Problem: Configure does not detect moonjit. +Solution: Add check for moonjit. (Shlomi Fish, closes #5947) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0604 +Problem: :startinsert in a terminal window used later. +Solution: Ignore :startinsert in a terminal window. (closes #5952) +Files: src/ex_docmd.c, src/testdir/test_terminal.vim + +Patch 8.2.0605 +Problem: Vim9: cannot unlet an environment variable. +Solution: Implement unlet for $VAR. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0606 +Problem: Several syntax HL errors not checked. +Solution: Add tests. (Yegappan Lakshmanan, closes #5954) +Files: src/testdir/test_syntax.vim + +Patch 8.2.0607 +Problem: Gcc warns for using uninitialized variable. (John Marriott) +Solution: Set name_end also for environment variables. +Files: src/evalvars.c + +Patch 8.2.0608 +Problem: Warning from clang when building message test. +Solution: Use a void pointer. (Dominique Pellé, closes #5958) +Files: src/message_test.c + +Patch 8.2.0609 +Problem: Configure does not detect moonjit correctly. +Solution: Double the brackets. (Ozaki Kiichi) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0610 +Problem: Some tests are still old style. +Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5957) +Files: src/testdir/test_blob.vim, src/testdir/test_cursor_func.vim, + src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_func.vim, src/testdir/test_eval_stuff.vim, + src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, + src/testdir/test_functions.vim, src/testdir/test_listdict.vim, + src/testdir/test_sort.vim, src/testdir/test_syntax.vim, + src/testdir/test_utf8.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0611 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. +Files: src/eval.c, src/evalvars.c, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0612 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. +Files: src/ex_eval.c, src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro, + src/gui.c, src/highlight.c, src/testdir/test_vim9_script.vim, + src/testdir/test_sort.vim + +Patch 8.2.0613 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. +Files: src/highlight.c, src/menu.c, src/syntax.c, + src/testdir/test_vim9_script.vim, + runtime/lang/menu_de_de.latin1.vim + +Patch 8.2.0614 +Problem: Get ml_get error when deleting a line in 'completefunc'. (Yegappan + Lakshmanan) +Solution: Lock the text while evaluating 'completefunc'. +Files: src/insexpand.c, src/globals.h, src/edit.c, src/ex_getln.c, + src/undo.c, src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_gf.vim, src/testdir/test_popup.vim, + src/testdir/test_ex_mode.vim, runtime/doc/insert.txt + +Patch 8.2.0615 +Problem: Regexp benchmark test is old style. +Solution: Make it a new style test. Fix using a NULL list. Add more tests. + (Yegappan Lakshmanan, closes #5963) +Files: src/evalbuffer.c, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Makefile, + src/testdir/bench_re_freeze.in, src/testdir/bench_re_freeze.vim, + src/testdir/test_autocmd.vim, src/testdir/test_bench_regexp.vim, + src/testdir/test_blob.vim, src/testdir/test_bufline.vim, + src/testdir/test_channel.vim, src/testdir/test_cmdline.vim, + src/testdir/test_functions.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_popupwin.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0616 +Problem: Build error when disabling the diff feature. +Solution: Move parenthesis outside of #ifdef. (Tom Ryder) +Files: src/drawline.c + +Patch 8.2.0617 +Problem: New error check triggers in Swedish menu. +Solution: Insert backslash. (Mats Tegner, closes #5966) +Files: runtime/lang/menu_sv_se.latin1.vim + +Patch 8.2.0618 +Problem: Echoing a null list results in no output. (Yegappan Lakshmanan) +Solution: Return "[]" instead of NULL in echo_string_core(). +Files: src/eval.c, src/testdir/test_messages.vim + +Patch 8.2.0619 +Problem: Null dict is not handled like an empty dict. +Solution: Fix the code and add tests. (Yegappan Lakshmanan, closes #5968) +Files: src/dict.c, src/eval.c, src/testdir/test_blob.vim, + src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, + src/testdir/test_let.vim, src/testdir/test_listdict.vim, + src/testdir/test_search.vim, src/testdir/test_unlet.vim, + src/testdir/test_usercommands.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0620 +Problem: Error in menu translations. +Solution: Insert a backslash before a space. +Files: runtime/lang/menu_it_it.latin1.vim, + runtime/lang/menu_chinese_gb.936.vim + +Patch 8.2.0621 +Problem: After running tests asan files may remain. +Solution: Clean up asan files with "make testclean". +Files: src/testdir/Makefile, src/Makefile + +Patch 8.2.0622 +Problem: Haiku: GUI does not compile. +Solution: Various fixes. (Emir Sarı, closes #5961) +Files: Filelist, README.md, READMEdir/README_haiku.txt, + runtime/doc/os_haiku.txt, src/Makefile, src/beval.h, + src/gui_haiku.cc, src/proto/gui_haiku.pro + +Patch 8.2.0623 +Problem: Typo in test comment. (Christ van Willegen) +Solution: Avoid mixing up a data structure with a body part. +Files: src/testdir/test_listdict.vim + +Patch 8.2.0624 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. Fix :throw with double quoted string. +Files: src/usercmd.c, src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0625 +Problem: Vim9: confusing error when calling unknown function. +Solution: Give error while compiling. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0626 +Problem: Vim9: wrong syntax of function in Vim9 script. +Solution: Give error for missing space. Implement :echomsg and :echoerr. + (closes #5670) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c, + src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + src/testdir/test_vim9_script.vim + +Patch 8.2.0627 +Problem: Vim9: error message does not work. (Yegappan Lakshmanan) +Solution: Swap lines. +Files: src/userfunc.c + +Patch 8.2.0628 +Problem: Error in menu translations. +Solution: Insert a backslash before a space in one more file. (Shun Bai, + Emir Sarı) +Files: runtime/lang/menu_zh_cn.utf-8.vim, + runtime/lang/menu_ca_es.latin1.vim, + runtime/lang/menu_cs_cz.iso_8859-2.vim, + runtime/lang/menu_cs_cz.utf-8.vim, + runtime/lang/menu_czech_czech_republic.1250.vim, + runtime/lang/menu_czech_czech_republic.ascii.vim, + runtime/lang/menu_da.utf-8.vim, + runtime/lang/menu_fi_fi.latin1.vim, + runtime/lang/menu_hu_hu.iso_8859-2.vim, + runtime/lang/menu_hu_hu.utf-8.vim, + runtime/lang/menu_is_is.latin1.vim, + runtime/lang/menu_no_no.latin1.vim, runtime/lang/menu_pt_br.vim, + runtime/lang/menu_pt_pt.vim, + runtime/lang/menu_sk_sk.iso_8859-2.vim, + runtime/lang/menu_sl_si.latin2.vim, + runtime/lang/menu_slovak_slovak_republic.1250.vim, + runtime/lang/menu_tr_tr.cp1254.vim, + runtime/lang/menu_tr_tr.iso_8859-9.vim, + runtime/lang/menu_tr_tr.utf-8.vim, runtime/lang/menu_vi_vn.vim + +Patch 8.2.0629 +Problem: Setting a boolean option to v:false does not work. +Solution: Do not use the string representation of the value. (Christian + Brabandt, closes #5974) +Files: src/evalvars.c, src/testdir/test_options.vim + +Patch 8.2.0630 +Problem: "make tags" does not cover Haiku GUI file. +Solution: Add *.cc files. +Files: src/Make_all.mak + +Patch 8.2.0631 +Problem: Haiku file formatted with wrong tabstop. +Solution: Use normal tabstop. Fix white space. +Files: src/gui_haiku.cc + +Patch 8.2.0632 +Problem: Crash when using Haiku. +Solution: Lock the screen. (closes #5975, closes #5973) +Files: src/screen.c + +Patch 8.2.0633 +Problem: Crash when using null partial in filter(). +Solution: Fix crash. Add more tests. (Yegappan Lakshmanan, closes #5976) +Files: src/eval.c, src/testdir/test_blob.vim, + src/testdir/test_channel.vim, src/testdir/test_eval_stuff.vim, + src/testdir/test_execute_func.vim, src/testdir/test_expr.vim, + src/testdir/test_filter_map.vim, src/testdir/test_fold.vim, + src/testdir/test_functions.vim, src/testdir/test_let.vim, + src/testdir/test_listdict.vim, src/testdir/test_partial.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.0634 +Problem: Crash with null partial and blob. +Solution: Check for NULL pointer. Add more tests. (Yegappan Lakshmanan, + closes #5984) +Files: src/eval.c, src/list.c, src/testdir/test_blob.vim, + src/testdir/test_bufwintabinfo.vim, src/testdir/test_cd.vim, + src/testdir/test_channel.vim, src/testdir/test_cursor_func.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_expr.vim, + src/testdir/test_filter_map.vim, src/testdir/test_fnamemodify.vim, + src/testdir/test_functions.vim, src/testdir/test_getvar.vim, + src/testdir/test_listdict.vim, src/testdir/test_messages.vim, + src/testdir/test_partial.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tabpage.vim, src/testdir/test_vimscript.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0635 +Problem: When using 256 colors DarkYellow does not show expected color. +Solution: Use color 3 instead of 130. (Romain Lafourcade, closes #5985) +Files: src/highlight.c + +Patch 8.2.0636 +Problem: :messages does not show the maintainer when $LANG is unset. +Solution: Call get_mess_lang() if available. (closes #5978) +Files: src/message.c + +Patch 8.2.0637 +Problem: Incsearch highlighting does not work for ":sort!". +Solution: Skip over the exclamation point. (closes #5983) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_sort_02.dump + +Patch 8.2.0638 +Problem: MS-Windows: messages test fails. +Solution: Clear environment variables. +Files: src/testdir/test_messages.vim + +Patch 8.2.0639 +Problem: MS-Windows: messages test still fails. +Solution: Filter out the maintainer message. +Files: src/testdir/test_messages.vim + +Patch 8.2.0640 +Problem: Vim9: expanding `=expr` does not work. +Solution: Find wildcards in not compiled commands. Reorganize test files. +Files: Filelist, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/vim9.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/testdir/Make_all.mak + +Patch 8.2.0641 +Problem: Vim9: `=expr` not expanded in :hardcopy and "syntax include". +Solution: Add the EX_EXPAND flag. Expend "syntax include". +Files: src/ex_cmds.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.0642 +Problem: Vim9: using invalid index. +Solution: Check index for being valid. Fix memory leak. +Files: src/vim9compile.c, src/clientserver.c + +Patch 8.2.0643 (after 8.2.0635) +Problem: Terminal uses brown instead of dark yellow. (Romain Lafourcade) +Solution: Use color index 3 instead of 130. (closes #5993) +Files: src/terminal.c + +Patch 8.2.0644 +Problem: Insufficient testing for invalid function arguments. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5988) +Files: runtime/doc/eval.txt, src/testdir/test_bufline.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_listener.vim, src/testdir/test_match.vim, + src/testdir/test_menu.vim, src/testdir/test_quickfix.vim, + src/testdir/test_registers.vim, src/testdir/test_reltime.vim, + src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0645 +Problem: MS-Windows terminal: CTRL-C does not get to child job. +Solution: Remove CREATE_NEW_PROCESS_GROUP from CreateProcessW(). (Nobuhiro + Takasaki, closes #5987) +Files: src/terminal.c + +Patch 8.2.0646 +Problem: t_Co uses the value of $COLORS in the GUI. (Masato Nishihata) +Solution: Ignore $COLORS for the GUI. (closes #5992) +Files: src/os_unix.c, src/term.c + +Patch 8.2.0647 +Problem: MS-Windows: repeat count for events was not used. +Solution: Check the repeat count. (Nobuhiro Takasaki, closes #5989) +Files: src/os_win32.c + +Patch 8.2.0648 +Problem: Semicolon search does not work in first line. +Solution: Allow the cursor to be in line zero. (Christian Brabandt, + closes #5996) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.0649 +Problem: Undo problem when an InsertLeave autocommand resets undo. (Kutsan + Kaplan) +Solution: Do not create a new undo block when leaving Insert mode. +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.2.0650 +Problem: Vim9: script function can be deleted. +Solution: Disallow deleting script function. Delete functions when sourcing + a script again. +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/vim9compile.c, src/vim9execute.c, src/vim9script.c, + src/scriptfile.c, src/testing.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0651 +Problem: Old style benchmark test still in list of distributed files. +Solution: Remove the files from the list. +Files: Filelist + +Patch 8.2.0652 (after 8.2.0650) +Problem: Compiler warning for char conversion. +Solution: Use unsigned char buffer. +Files: src/userfunc.c + +Patch 8.2.0653 (after 8.2.0650) +Problem: using uninitialized pointer. +Solution: Move assignment up. (John Marriott) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0654 +Problem: Building with Python fails. +Solution: Add missing argument. +Files: src/if_py_both.h + +Patch 8.2.0655 +Problem: Search code not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5999) +Files: src/testdir/test_charsearch.vim, src/testdir/test_gn.vim, + src/testdir/test_goto.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_search.vim, + src/testdir/test_textformat.vim, src/testdir/test_textobjects.vim, + src/testdir/test_visual.vim + +Patch 8.2.0656 +Problem: MS-Windows: redrawing right screen edge may not be needed. +Solution: Check the build version. (Nobuhiro Takasaki, closes #6002) +Files: src/drawscreen.c, src/os_win32.c, src/proto/os_win32.pro + +Patch 8.2.0657 +Problem: Vim9: no check if called variable is a FuncRef. +Solution: Add a type check. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0658 (after 8.2.0646) +Problem: HP-UX build fails when setenv() is not defined. +Solution: Change "colors" to "t_colors". (John Marriott) +Files: src/os_unix.c + +Patch 8.2.0659 +Problem: Vim9: no test for equal func type. +Solution: Add a test. Improve type check. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0660 +Problem: The search.c file is a bit big. +Solution: Split off the text object code to a separate file. (Yegappan + Lakshmanan, closes #6007) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/proto.h, src/proto/search.pro, src/proto/textobject.pro, + src/search.c, src/textobject.c + +Patch 8.2.0661 +Problem: Eval test is still old style. +Solution: Change into new style tests. (Yegappan Lakshmanan, closes #6009) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_stuff.vim + +Patch 8.2.0662 +Problem: Cannot use input() in a channel callback. +Solution: Reset vgetc_busy. (closes #6010) +Files: src/globals.h, src/ex_getln.c, src/evalfunc.c, + src/testdir/test_channel.vim + +Patch 8.2.0663 +Problem: Not all systemd temp files are recognized. +Solution: Add two more patterns. (Jamie Macdonald, closes #6003) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0664 +Problem: Included undesired changes in Makefile. +Solution: Revert the changes. +Files: src/Makefile + +Patch 8.2.0665 +Problem: Wrongly assuming Python executable is called "python". +Solution: Use detected python command. (Ken Takata, closes #6016) + Also use CheckFunction if possible. +Files: src/testdir/test_terminal.vim, src/testdir/check.vim + +Patch 8.2.0666 +Problem: Ruby test fails on MS-Windows. +Solution: Remove the "maintainer" line. (Ken Takata, closes #6015) +Files: src/testdir/shared.vim, src/testdir/test_messages.vim, + src/testdir/test_ruby.vim + +Patch 8.2.0667 +Problem: Cannot install Haiku version from source. +Solution: Update Makefile and rdef file. (Emir Sarı, closes #6013) +Files: Filelist, READMEdir/README_haiku.txt, runtime/doc/os_haiku.txt, + src/Makefile, src/os_haiku.rdef.in, src/os_haiku.rdef + +Patch 8.2.0668 +Problem: Compiler warning for int/size_t usage. +Solution: Change "int" to "size_t". (Mike Williams) +Files: src/vim9execute.c + +Patch 8.2.0669 +Problem: MS-Windows: display in VTP is a bit slow. +Solution: Optimize the code. (Nobuhiro Takasaki, closes #6014) +Files: src/os_win32.c, src/screen.c + +Patch 8.2.0670 +Problem: Cannot change window when evaluating 'completefunc'. +Solution: Make a difference between not changing text or buffers and also + not changing window. +Files: src/ex_getln.c, src/beval.c, src/change.c, src/edit.c, src/eval.c, + src/ex_docmd.c, src/insexpand.c, src/globals.h, src/indent.c, + src/map.c, src/window.c, src/proto/ex_getln.pro, src/register.c, + src/undo.c, src/testdir/test_edit.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_popup.vim + +Patch 8.2.0671 +Problem: Haiku: compiler warnings. +Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sarı, + closes #6018) +Files: .gitignore, src/gui.c, src/gui_haiku.cc + +Patch 8.2.0672 +Problem: Heredoc in scripts does not accept lower case marker. +Solution: Allow lower case only in non-Vim scripts. (Ken Takata, + closes #6019) +Files: src/evalvars.c, src/testdir/test_lua.vim, + src/testdir/test_perl.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, + src/testdir/test_pyx3.vim, src/testdir/test_ruby.vim + +Patch 8.2.0673 +Problem: Cannot build Haiku in shadow directory. +Solution: Add symlink. (Ozaki Kiichi, closes #6023) +Files: src/Makefile + +Patch 8.2.0674 +Problem: Some source files are too big. +Solution: Move text formatting functions to a new file. (Yegappan + Lakshmanan, closes #6021) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/edit.c, src/getchar.c, src/ops.c, src/option.c, src/proto.h, + src/proto/edit.pro, src/proto/getchar.pro, src/proto/ops.pro, + src/proto/option.pro, src/proto/textformat.pro, src/textformat.c + +Patch 8.2.0675 +Problem: Vim9: no support for closures. +Solution: Do not re-use stack entries. +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/evalvars.c, src/proto/evalvars.pro + +Patch 8.2.0676 +Problem: Pattern in list of distributed files does not match. +Solution: Drop "testdir/test_[a-z]*.ok". Add CI sed files. +Files: Filelist + +Patch 8.2.0677 +Problem: Vim9: no support for closures. +Solution: Find variables in the outer function scope, so long as the scope + exists. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/vim9execute.c, src/structs.h, src/vim9.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.0678 +Problem: Rare crash for popup menu. +Solution: Check for NULL pointer. (Nobuhiro Takasaki, closes #6027) +Files: src/popupmenu.c + +Patch 8.2.0679 +Problem: Vim9: incomplete support for closures. +Solution: At the end of a function copy arguments and local variables if + they are still used by a referenced closure. +Files: src/structs.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0680 +Problem: PTYGROUP and PTYMODE are unused. +Solution: Remove from autoconf. (closes #6024) +Files: src/configure.ac, src/auto/configure, src/config.h.in + +Patch 8.2.0681 +Problem: Pattern for 'hlsearch' highlighting may leak. (Dominique Pellé) +Solution: Call end_search_hl() to make sure the previous pattern is freed. + (closes #6028) +Files: src/screen.c + +Patch 8.2.0682 +Problem: Vim9: parsing function argument type can get stuck. +Solution: Bail out when not making progress. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0683 +Problem: Vim9: parsing type does not always work. +Solution: Handle func type without return value. Test more closures. + Fix type check offset. Fix garbage collection. +Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0684 +Problem: Vim9: memory leak when using lambda. +Solution: Move the funccal context to the partial. Free the function when + exiting. +Files: src/vim9.h, src/structs.h, src/vim9execute.c, src/userfunc.c, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0685 (after 8.2.0684) +Problem: Build failure. +Solution: Include missing changes. +Files: src/vim9compile.c + +Patch 8.2.0686 +Problem: Formatoptions not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6031) +Files: src/testdir/test_normal.vim, src/testdir/test_textformat.vim + +Patch 8.2.0687 +Problem: Some tests do not work on FreeBSD. +Solution: Enable modeline. Use WaitFor() in more cases. (Ozaki Kiichi, + closes #6036) +Files: src/testdir/test_quickfix.vim, src/testdir/test_terminal.vim + +Patch 8.2.0688 +Problem: Output clobbered if setting 'verbose' to see shell commands. +Solution: Only output "Searching for" when 'verbose' is 11 or higher. +Files: src/scriptfile.c, runtime/doc/options.txt + +Patch 8.2.0689 +Problem: When using getaddrinfo() the error message is unclear. +Solution: Use gai_strerror() to get the message. (Ozaki Kiichi, + closes #6034) +Files: src/channel.c + +Patch 8.2.0690 +Problem: Line number of option set by modeline is wrong. +Solution: Do not double the line number. (Ozaki Kiichi, closes #6035) +Files: src/option.c, src/testdir/test_modeline.vim + +Patch 8.2.0691 +Problem: Startup test fails. +Solution: Adjust expected output from -V2 argument. +Files: src/testdir/test_startup.vim + +Patch 8.2.0692 +Problem: Startup test fails on MS-Windows. +Solution: Allow for any path. +Files: src/testdir/test_startup.vim + +Patch 8.2.0693 +Problem: Closure using argument not tested. +Solution: Add a test, make it work. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0694 +Problem: Haiku: channel and terminal do not work. +Solution: Close files when the job has finished. (Ozaki Kiichi, + closes #6039) +Files: src/channel.c, src/getchar.c, src/gui_haiku.cc, src/misc1.c + +Patch 8.2.0695 +Problem: Vim9: cannot define a function inside a function. +Solution: Initial support for :def inside :def. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, + src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0696 +Problem: Vim9: nested function does not work properly +Solution: Create a function reference. Check argument count. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0697 +Problem: Vim9: memory leak when using nested function. +Solution: Unreference function when deleting instructions. Adjust reference + count for local variables. +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0698 +Problem: Insert mode completion not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6041) +Files: src/testdir/test_edit.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_textformat.vim + +Patch 8.2.0699 +Problem: Vim9: not all errors tested. +Solution: Add test for deleted function. Bail out on first error. +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim + +Patch 8.2.0700 +Problem: Vim9: converting error message to exception not tested. +Solution: Test exception from error. Do not continue after :echoerr. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0701 +Problem: Vim9 test fails without job feature. +Solution: Add feature check. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0702 +Problem: Running channel tests may leave running process behind. +Solution: Make Python client exit when running into EOF. (Kurtis Rader, + part of #6046) +Files: src/testdir/test_channel_pipe.py + +Patch 8.2.0703 +Problem: Vim9: closure cannot store value in outer context. +Solution: Make storing value in outer context work. Make :disassemble + accept a function reference. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/eval.c, + src/structs.h, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.0704 +Problem: Vim9: memory leak in disassemble test. +Solution: Decrement refcount when creating funccal. +Files: src/vim9execute.c + +Patch 8.2.0705 +Problem: Indent tests don't run on CI for FreeBSD. +Solution: Set modeline. (Ozaki Kiichi, closes #6048) +Files: .cirrus.yml, runtime/indent/testdir/runtest.vim + +Patch 8.2.0706 +Problem: Vim9: using assert_fails() causes function to finish. +Solution: Check did_emsg instead of called_emsg. +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0707 +Problem: Vim9 function test fails. +Solution: Adjust expected error code. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.0708 +Problem: Vim9: constant expressions are not simplified. +Solution: Simplify string concatenation. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0709 +Problem: MS-Windows: compiler warning for int vs size_t. +Solution: Add type cast. (Mike Williams) +Files: src/channel.c + +Patch 8.2.0710 +Problem: Netbeans test sometimes fails. +Solution: Mark any test using an external command as flaky. +Files: src/testdir/shared.vim + +Patch 8.2.0711 +Problem: With a long running Vim the temp directory might be cleared on + some systems. +Solution: Lock the temp directory. (closes #6044) +Files: src/config.h.in, src/configure.ac, src/auto/configure, + src/fileio.c, src/globals.h, src/os_unix.h + +Patch 8.2.0712 +Problem: Various code not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6049) +Files: src/testdir/test_functions.vim, src/testdir/test_options.vim, + src/testdir/test_system.vim, src/testdir/test_termcodes.vim + +Patch 8.2.0713 +Problem: The pam_environment file is not recognized. +Solution: Add a filetype pattern for pamenv. (closes #6051) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0714 +Problem: Vim9: handling constant expression does not scale. +Solution: Use another solution, passing typval_T. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0715 +Problem: Vim9: leaking memory. +Solution: Free strings after concatenating them. +Files: src/vim9compile.c + +Patch 8.2.0716 +Problem: Vim9: another memory leak. +Solution: Clear typval when failing. +Files: src/vim9compile.c + +Patch 8.2.0717 +Problem: Vim9: postponed constant expressions does not scale. +Solution: Add a structure to pass around postponed constants. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0718 +Problem: Gcc warning for returning pointer to local variable. (John + Marriott) +Solution: Return another pointer. +Files: src/evalvars.c + +Patch 8.2.0719 +Problem: Vim9: more expressions can be evaluated at compile time +Solution: Recognize has('name'). +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0720 +Problem: Occasional exit when encountering an X error. (Manfred Lotz) +Solution: On an X error do not exit, do preserve files. +Files: src/os_unix.c + +Patch 8.2.0721 +Problem: Vim9: leaking memory when skipping. +Solution: Disable skipping in generate_ppconst(). +Files: src/vim9compile.c + +Patch 8.2.0722 +Problem: Vim9: not handling constant expression for elseif. +Solution: Use postponed constants. Delete the code for evaluating a + constant expression. +Files: src/vim9compile.c + +Patch 8.2.0723 +Problem: Vim9: nested constant expression not evaluated compile time. +Solution: Use compile_expr1() for parenthesis. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0724 +Problem: Vim9: appending to buffer/window/tab variable not tested +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0725 +Problem: Vim9: cannot call a function declared later in Vim9 script. +Solution: Make two passes through the script file. +Files: src/scriptfile.c, src/proto/scriptfile.pro, src/vim9script.c, + src/vim9compile.c, src/vim9execute.c, src/proto/vim9compile.pro, + src/userfunc.c, src/proto/userfunc.pro, src/evalvars.c, + src/proto/evalvars.pro, src/vim.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0726 +Problem: Vim9: leaking memory when calling not compiled :def function. +Solution: Check if function is compiled earlier. +Files: src/vim9execute.c + +Patch 8.2.0727 +Problem: MS-Windows: new gcc compiler does not support scanf format. +Solution: Use "%ll" instead of "%I". (Ken Takata) +Files: src/vim.h + +Patch 8.2.0728 +Problem: Messages about a deadly signal are not left aligned. +Solution: Output a CR before the NL. (Dominique Pellé, #6055) +Files: src/misc1.c, src/os_unix.c + +Patch 8.2.0729 +Problem: Vim9: When reloading a script variables are not cleared. +Solution: When sourcing a script again clear all script-local variables. +Files: src/dict.c, src/proto/dict.pro, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0730 +Problem: Vim9: Assignment to dict member does not work. +Solution: Parse dict assignment. Implement getting dict member. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/globals.h, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0731 +Problem: Vim9: parsing declarations continues after :finish. +Solution: Bail out when encountering :finish. +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0732 +Problem: Vim9: storing value in dict messes up stack. +Solution: Correct item count of stack. +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.0733 +Problem: Vim9: assigning to dict or list argument does not work. +Solution: Recognize an argument as assignment target. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0734 +Problem: Vim9: leaking memory when using :finish. +Solution: Do not check for next line in third pass. +Files: src/scriptfile.c + +Patch 8.2.0735 +Problem: Vim9: using uninitialized memory. +Solution: Clear the arg_lvar field. +Files: src/vim9compile.c + +Patch 8.2.0736 +Problem: Some files not recognized as pamenv. +Solution: Add pam_inv.conf. (closes #6065) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0737 +Problem: When shell doesn't support CTRL-Z Vim still handles it. +Solution: Ignore the STOP signal if it was ignored on startup. + (Kurtis Rader, closes #5990, closes #6058) +Files: src/os_unix.c + +Patch 8.2.0738 +Problem: Mouse handling in a terminal window not well tested. +Solution: Add tests. (Yegappan Lakshmanan, closes #6052) +Files: src/testdir/term_util.vim, src/testdir/test_gui.vim, + src/testdir/test_modeless.vim, src/testdir/test_terminal.vim + +Patch 8.2.0739 +Problem: Incomplete profiling when exiting because of a deadly signal. +Solution: Call __gcov_flush() if available. +Files: src/os_unix.c, src/Makefile, .travis.yml + +Patch 8.2.0740 +Problem: Minor message mistakes. +Solution: Change vim to Vim and other fixes. +Files: src/if_py_both.h, src/if_tcl.c, src/main.c + +Patch 8.2.0741 +Problem: Python tests fail because of changed message. +Solution: Adjust the expected messages (Dominique Pellé, closes #6066) +Files: src/testdir/test86.ok, src/testdir/test87.ok + +Patch 8.2.0742 +Problem: Handling of a TERM signal not tested. +Solution: Add a test for SIGTERM. (Dominique Pellé, closes #6055) +Files: src/testdir/test_signals.vim + +Patch 8.2.0743 +Problem: Can move to another buffer from a terminal in popup window. +Solution: Do not allow "gf" or editing a file. (closes #6072) +Files: src/normal.c, src/ex_cmds.c, src/testdir/test_popupwin.vim + +Patch 8.2.0744 +Problem: The name vim is not capitalized in a message. +Solution: Use "Vim" instead of "vim". +Files: src/main.c + +Patch 8.2.0745 +Problem: Crash on exit when not all popups are closed. +Solution: Close popups when freeing all memory. Disable checking for popup + when editing a file for now. +Files: src/misc2.c, src/ex_cmds.c + +Patch 8.2.0746 +Problem: popup_clear() hangs when a popup can't be closed. +Solution: Bail out when a popup can't be closed. +Files: src/popupwin.c, src/proto/popupwin.pro + +Patch 8.2.0747 +Problem: Cannot forcefully close all popups. +Solution: Add the "force" argument to popup_clear(). Use it after running a + test. Put back the check for a popup when editing a file. +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/tag.c, src/window.c, src/misc2.c, + src/ex_cmds.c, src/channel.c, src/testdir/runtest.vim, + src/testdir/test_terminal.vim + +Patch 8.2.0748 +Problem: Cannot get a list of all popups. +Solution: Add popup_list(). Use it in the test runner. +Files: runtime/doc/eval.txt, runtime/doc/popup.txt, src/popupwin.c, + src/proto/popupwin.pro, src/evalfunc.c, + src/testdir/test_popupwin.vim, src/testdir/runtest.vim + +Patch 8.2.0749 +Problem: TERM signal test fails on FreeBSD. +Solution: Do not check the messages, the may appear anywhere. (Dominique + Pellé, closes #6075) +Files: src/testdir/test_signals.vim + +Patch 8.2.0750 +Problem: Netbeans test is a bit flaky. +Solution: Allow for standard sign to be defined. Use WaitForAssert(). +Files: src/testdir/test_netbeans.vim + +Patch 8.2.0751 +Problem: Vim9: performance can be improved. +Solution: Don't call break. Inline check for list materialize. Make an + inline version of ga_grow(). +Files: src/macros.h, src/evalfunc.c, src/misc2.c, + src/proto/misc2.pro, src/channel.c, src/eval.c, src/evalbuffer.c, + src/evalvars.c, src/filepath.c, src/highlight.c, src/insexpand.c, + src/json.c, src/list.c, src/popupmenu.c, src/popupwin.c, + src/userfunc.c, src/if_py_both.h + +Patch 8.2.0752 +Problem: Terminal in popup window test is a bit flaky. +Solution: Wait for shell job status to be "run". Mark as flaky test. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.0753 +Problem: Vim9: expressions are evaluated in the discovery phase. +Solution: Bail out if an expression is not a constant. Require a type for + declared constants. +Files: src/vim.h, src/evalvars.c, src/eval.c, src/ex_eval.c, + src/evalfunc.c, src/userfunc.c, src/dict.c, src/list.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0754 +Problem: Vim9: No test for forward declaration. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0755 +Problem: Vim9: No error when variable initializer is not a constant. +Solution: Return FAIL when trying to get a variable value. Do not execute a + script when an error is detected in the first or second phase. +Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0756 (after 8.2.0249) +Problem: MS-Windows: still a compiler warning. +Solution: Move flag to another place in the Makefile. (Ken Takata, + closes #6083) +Files: src/Make_mvc.mak + +Patch 8.2.0757 +Problem: Vim9: no test for MEMBER instruction. +Solution: Add a test. Make matches stricter. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0758 +Problem: Vim9: no test for STORELIST and STOREDICT. +Solution: Add a test. Make matches stricter. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0759 (after 8.2.0751) +Problem: Vim9: missing changes for performance improvements +Solution: Use GA_GROW(). Don't call breakcheck so often. +Files: src/vim9execute.c + +Patch 8.2.0760 +Problem: Vim9: dict member errors not tested. +Solution: Delete unreachable error. Add tests. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0761 +Problem: Vim9: instructions not tested +Solution: Use a variable instead of a constant. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0762 +Problem: Buffer is not considered modified after setting crypt key. +Solution: Set the modified flag. (Christian Brabandt, closes #6082) +Files: src/optionstr.c, src/testdir/test_crypt.vim + +Patch 8.2.0763 +Problem: GUI test fails without the terminal feature. +Solution: Check the terminal feature is supported. (Ken Takata, + closes #6084) +Files: src/testdir/test_gui.vim + +Patch 8.2.0764 +Problem: Vim9: assigning to option not fully tested. +Solution: Add more test cases. Allow using any type for assignment. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0765 +Problem: In the GUI can't use all the modifiers. (Andri Möll) +Solution: Do not apply Alt/Meta early, do it later like with the terminal. + Avoid the Motif test from crashing. +Files: src/gui_gtk_x11.c, src/gui_x11.c, src/gui_mac.c, src/gui_w32.c, + src/gui_motif.c + +Patch 8.2.0766 +Problem: Display error when using 'number' and 'breakindent'. +Solution: Adjust extra spaces in the first row. (Ken Takata, closes #6089, + closes #5986) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.2.0767 +Problem: ModifyOtherKeys active when using a shell command in autocmd. +Solution: Output T_CTE when going to cooked mode. (closes 5617) +Files: src/term.c + +Patch 8.2.0768 +Problem: Vim9: memory leak in script test. +Solution: Clear typval before giving an error message. +Files: src/vim9execute.c + +Patch 8.2.0769 +Problem: VimLeavePre not triggered when Vim is terminated. +Solution: Unblock autocommands. +Files: src/main.c, src/testdir/test_signals.vim + +Patch 8.2.0770 +Problem: Cannot map CTRL-B when using the GUI. +Solution: Reset the CTRL modifier when used. (closes #6092) +Files: src/gui_gtk_x11.c + +Patch 8.2.0771 +Problem: Vim9: cannot call a compiled closure from not compiled code. +Solution: Pass funcexe to call_user_func(). +Files: src/userfunc.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0772 +Problem: Vim9: some variable initializations not tested. +Solution: Add a few more tests +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0773 +Problem: Switching to raw mode every time ":" is used. +Solution: When executing a shell set cur_tmode to TMODE_UNKNOWN, so that the + next time TMODE_RAW is used it is set, but not every time. +Files: src/term.h, src/os_unix.c, src/term.c, src/os_amiga.c, + src/os_win32.c + +Patch 8.2.0774 +Problem: t_TI and t_TE are output when using 'visualbell'. (Dominique + Pellé) +Solution: Do not change the terminal mode for a short sleep. Do not output + t_TI and t_TE when switching to/from TMODE_SLEEP. Make tmode an + enum. +Files: src/os_unix.c, src/proto/os_unix.pro, src/os_amiga.c, + src/proto/os_amiga.pro, src/os_mswin.c, src/proto/os_mswin.pro, + src/os_vms.c, src/proto/os_vms.pro, src/os_win32.c, + src/proto/os_win32.pro, src/term.c, src/term.h, src/globals.h + +Patch 8.2.0775 +Problem: Not easy to call a Vim function from Lua. +Solution: Add vim.call() and vim.fn(). (Prabir Shrestha, closes #6063) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.0776 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revision 719. +Files: Filelist, src/libvterm/README, src/libvterm/Makefile, + src/libvterm/find-wide-chars.pl, src/libvterm/src/fullwidth.inc, + src/libvterm/src/unicode.c + +Patch 8.2.0777 (after 8.2.0776) +Problem: Terminal test fails. +Solution: Adjust character position for double-wide characters. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0778 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 720 - 723. +Files: src/libvterm/t/10state_putglyph.test, src/libvterm/Makefile, + src/libvterm/t/run-test.pl, src/libvterm/src/state.c, + src/libvterm/t/92lp1805050.test + +Patch 8.2.0779 +Problem: Tmode_T not used everywhere. +Solution: Also use tmode_T for settmode(). +Files: src/term.c, src/proto/term.pro + +Patch 8.2.0780 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 724 - 726. +Files: Filelist, src/libvterm/t/40screen_ascii.test, + src/libvterm/t/60screen_ascii.test, + src/libvterm/t/41screen_unicode.test, + src/libvterm/t/61screen_unicode.test, + src/libvterm/t/42screen_damage.test, + src/libvterm/t/62screen_damage.test, + src/libvterm/t/43screen_resize.test, + src/libvterm/t/63screen_resize.test, + src/libvterm/t/44screen_pen.test, + src/libvterm/t/64screen_pen.test, + src/libvterm/t/45screen_protect.test, + src/libvterm/t/65screen_protect.test, + src/libvterm/t/46screen_extent.test, + src/libvterm/t/66screen_extent.test, + src/libvterm/t/47screen_dbl_wh.test, + src/libvterm/t/67screen_dbl_wh.test, + src/libvterm/t/48screen_termprops.test, + src/libvterm/t/68screen_termprops.test, src/libvterm/t/30pen.test, + src/libvterm/t/30state_pen.test, src/libvterm/t/92lp1805050.test, + src/libvterm/t/31state_rep.test, src/libvterm/doc/seqs.txt + +Patch 8.2.0781 (after 8.2.0775) +Problem: Compiler warning for not using value in Lua. +Solution: Add "(void)". +Files: src/if_lua.c + +Patch 8.2.0782 +Problem: Cannot build with Lua on MS-Windows. +Solution: Add DLL symbol for luaL_Loadstring. (Ken Takata) +Files: src/if_lua.c + +Patch 8.2.0783 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 728 - 729. +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, + src/libvterm/src/keyboard.c, src/libvterm/t/25state_input.test, + src/libvterm/t/harness.c, src/libvterm/src/vterm.c, + src/libvterm/src/vterm_internal.h, + src/libvterm/t/26state_query.test + +Patch 8.2.0784 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 730 - 733. +Files: src/libvterm/src/vterm.c, src/libvterm/src/state.c, + src/libvterm/include/vterm.h, src/libvterm/src/vterm_internal.h, + src/libvterm/t/harness.c + +Patch 8.2.0785 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 734 - 740. +Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c, + src/libvterm/src/vterm.c, src/libvterm/doc/seqs.txt, + src/libvterm/t/30state_pen.test, src/libvterm/t/run-test.pl, + src/libvterm/Makefile, src/libvterm/CONTRIBUTING + +Patch 8.2.0786 +Problem: Channel test is flaky on FreeBSD. +Solution: Set the socket TCP_NODELAY option. Adjust expected line count in + netbeans test. (Ozaki Kiichi, closes #6097) +Files: src/testdir/test_channel.py, src/testdir/test_netbeans.vim + +Patch 8.2.0787 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 741 - 742. +Files: Filelist, src/libvterm/src/screen.c + +Patch 8.2.0788 +Problem: Memory leak in libvterm. +Solution: free tmpbuffer. +Files: src/libvterm/src/vterm.c + +Patch 8.2.0789 +Problem: Vim9: expression testing lost coverage using constants. +Solution: Use a few variables instead of constants. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0790 +Problem: Vim9: list index not well tested. +Solution: Add a few more tests. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0791 +Problem: A second popup window with terminal causes trouble. +Solution: Disallow opening a second terminal-popup window. (closes #6101, + closes #6103) Avoid defaulting to an invalid line number. +Files: runtime/doc/popup.txt, src/popupwin.c, src/ex_docmd.c, + src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim + +Patch 8.2.0792 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.2.0793 +Problem: MS-Windows: cannot build GUI with small features. (Michael Soyka) +Solution: Add #ifdef around use of windowsVersion. (Ken Takata) +Files: src/os_win32.c + +Patch 8.2.0794 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 743 - 747. +Files: src/libvterm/src/state.c, src/libvterm/src/screen.c, + src/libvterm/src/vterm_internal.h, src/libvterm/include/vterm.h, + src/libvterm/t/67screen_dbl_wh.test, src/libvterm/t/run-test.pl + +Patch 8.2.0795 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 748 - 754. +Files: src/libvterm/include/vterm.h, src/libvterm/src/screen.c, + src/libvterm/src/state.c, src/libvterm/t/32state_flow.test, + src/libvterm/t/60screen_ascii.test, + src/libvterm/t/62screen_damage.test, + src/libvterm/t/63screen_resize.test, src/libvterm/t/harness.c, + src/libvterm/t/run-test.pl + +Patch 8.2.0796 +Problem: MS-Windows: compiler can't handle C99 construct in libvterm. +Solution: Change to C90 construct. +Files: src/libvterm/src/state.c + +Patch 8.2.0797 +Problem: MS-Windows: compiler still can't handle C99 construct. +Solution: Change to C90 construct. (Dominique Pellé, closes #6106) +Files: src/libvterm/src/state.c + +Patch 8.2.0798 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 755 - 758. +Files: src/libvterm/t/run-test.pl, src/libvterm/src/screen.c, + src/libvterm/t/harness.c, src/libvterm/include/vterm.h, + src/libvterm/src/parser.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/02parser.test, + src/libvterm/t/18state_termprops.test, + src/libvterm/t/29state_fallback.test, + src/libvterm/t/68screen_termprops.test, src/terminal.c + +Patch 8.2.0799 +Problem: Build fails if snprintf is not available. +Solution: Use vim_snprintf(). +Files: src/libvterm/src/state.c + +Patch 8.2.0800 +Problem: Errors from failing test are unclear. +Solution: Include text where parsing failed. +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.2.0801 +Problem: Terminal test fails on Mac. +Solution: Concatenate OSC pieces. +Files: src/terminal.c + +Patch 8.2.0802 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 759 - 762. +Files: src/terminal.c, src/libvterm/doc/seqs.txt, + src/libvterm/include/vterm.h, src/libvterm/src/pen.c, + src/libvterm/src/screen.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/harness.c, src/libvterm/t/12state_scroll.test + +Patch 8.2.0803 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 764 - 767 +Files: src/Makefile, src/libvterm/src/parser.c, + src/libvterm/src/vterm_internal.h, src/libvterm/t/02parser.test, + src/libvterm/t/run-test.pl, src/libvterm/find-wide-chars.pl, + src/libvterm/src/fullwidth.inc + +Patch 8.2.0804 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revision 727, but add the index instead of switching + between RGB and indexed. +Files: src/terminal.c, src/term.c, src/libvterm/include/vterm.h, + src/libvterm/src/pen.c src/libvterm/src/screen.c + src/libvterm/src/vterm_internal.h src/libvterm/t/30state_pen.test + src/libvterm/t/harness.c, src/libvterm/src/state.c, + src/libvterm/t/26state_query.test, + src/libvterm/t/64screen_pen.test + +Patch 8.2.0805 +Problem: Terminal key codes test fails on some systems. +Solution: Skip keypad 3 and 9. (Yegappan Lakshmanan, closes #6070) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0806 +Problem: using "func!" after vim9script gives confusing error. +Solution: Give E477. (closes #6107) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0807 +Problem: Cannot easily restore a mapping. +Solution: Add mapset(). +Files: runtime/doc/eval.txt, src/map.c, src/proto/map.pro, src/evalfunc.c + src/testdir/test_maparg.vim + +Patch 8.2.0808 +Problem: Not enough testing for the terminal window. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6069) Fix memory + leak. +Files: src/testdir/test_gui.vim, src/testdir/test_terminal.vim, + src/terminal.c + +Patch 8.2.0809 +Problem: Build failure with small features. (Tony Mechelynck) +Solution: Move "expr" inside #ifdef. +Files: src/map.c + +Patch 8.2.0810 +Problem: Error when appending "tagfile" to 'wildoptions'. +Solution: use flags P_ONECOMMA and P_NODUP. (Dmitri Vereshchagin, + closes #6105) +Files: src/optiondefs.h, src/testdir/test_options.vim + +Patch 8.2.0811 +Problem: Terminal keycode test is flaky. +Solution: Use WaitForAssert() +Files: src/testdir/test_terminal.vim + +Patch 8.2.0812 +Problem: mapset() does not properly handle <> notation. +Solution: Convert <> codes. (closes #6116) +Files: src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.0813 +Problem: libvterm code is slightly different from upstream. +Solution: Use upstream text to avoid future merge problems. Mainly comment + style changes. +Files: src/libvterm/include/vterm.h, src/libvterm/src/rect.h, + src/libvterm/src/utf8.h, src/libvterm/src/vterm_internal.h, + src/libvterm/src/encoding.c, src/libvterm/src/keyboard.c, + src/libvterm/src/mouse.c, src/libvterm/src/parser.c, + src/libvterm/src/pen.c, src/libvterm/src/screen.c, + src/libvterm/src/state.c, src/libvterm/src/unicode.c, + src/libvterm/src/vterm.c + +Patch 8.2.0814 +Problem: Clang warning for implicit conversion. +Solution: Add type cast. (Dominique Pellé, closes #6124) +Files: src/evalfunc.c + +Patch 8.2.0815 +Problem: maparg() does not provide enough information for mapset(). +Solution: Add "lhsraw" and "lhsrawalt" items. Drop "simplified" +Files: src/map.c, runtime/doc/eval.txt, src/testdir/test_maparg.vim + +Patch 8.2.0816 +Problem: Terminal test fails when compiled with Athena. +Solution: Do give an error when the GUI is not running. (hint by Dominique + Pellé, closes #5928, closes #6132) +Files: src/globals.h, src/gui.c, src/term.c, src/channel.c, + src/testdir/test_terminal.vim + +Patch 8.2.0817 +Problem: Not enough memory allocated when converting string with special + character. +Solution: Reserve space for modifier code. (closes #6130) +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.0818 +Problem: Vim9: using a discovery phase doesn't work well. +Solution: Remove the discovery phase, instead compile a function only when + it is used. Add :defcompile to compile def functions earlier. +Files: runtime/doc/vim9.txt, src/vim9script.c, src/structs.h, + src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h, + src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim, + src/testdir/test_vim9_disassemble.vim + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0819 +Problem: Compiler warning for unused variable. +Solution: Remove the variable. +Files: src/evalvars.c + +Patch 8.2.0820 +Problem: Vim9: function type isn't set until compiled. +Solution: Set function type early. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0821 +Problem: Vim9: memory leak in expr test. +Solution: Do not decrement the length of the list of functions if the + current function is not at the end. +Files: src/vim9compile.c + +Patch 8.2.0822 +Problem: Vim9: code left over from discovery phase. +Solution: Remove the dead code. +Files: src/scriptfile.c, src/proto/scriptfile.pro, src/ex_cmds.h, + src/evalvars.c, src/proto/evalvars.pro, src/ex_docmd.c + +Patch 8.2.0823 +Problem: Vim9: script reload test is disabled. +Solution: Compile a function in the context of the script where it was + defined. Set execution stack for compiled function. Add a test + that an error is reported for the right file/function. +Files: src/vim9compile.c, src/vim9execute.c, src/scriptfile.c, + src/proto/scriptfile.pro, src/userfunc.c, src/globals.h, + src/structs.h, src/ex_docmd.c, src/ex_eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0824 (after 8.2.0817) +Problem: Still not enough memory allocated when converting string with + special character. +Solution: Reserve space for expanding K_SPECIAL. (closes #6130) +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.0825 +Problem: def_function() may return pointer that was freed. +Solution: Set "fp" to NULL after freeing it. +Files: src/userfunc.c + +Patch 8.2.0826 +Problem: Vim9: crash in :defcompile. +Solution: Restart the loop after a call to compile_def_function() caused the + hash table to resize. +Files: src/userfunc.c + +Patch 8.2.0827 +Problem: Vim9: crash in :defcompile. +Solution: Fix off-by-one error. +Files: src/userfunc.c + +Patch 8.2.0828 +Problem: Travis: regexp pattern doesn't work everywhere. +Solution: Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146) +Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, + ci/config.mk.sed, src/if_ruby.c + +Patch 8.2.0829 +Problem: filter() may give misleading error message. +Solution: Also mention Blob as an allowed argument. +Files: src/list.c, src/testdir/test_filter_map.vim + +Patch 8.2.0830 +Problem: Motif: can't map "!". (Ben Jackson) +Solution: Remove the shift modifier if it's already included in the key. + (closes #6147) +Files: src/gui_x11.c + +Patch 8.2.0831 +Problem: Compiler warnings for integer sizes. +Solution: Add type casts. (Mike Williams) +Files: src/libvterm/src/pen.c, src/terminal.c + +Patch 8.2.0832 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Add initial value. +Files: src/map.c + +Patch 8.2.0833 +Problem: Mapping <C-bslash> doesn't work in the GUI. +Solution: Reset seenModifyOtherKeys when starting the GUI. (closes #6150) +Files: src/gui.c + +Patch 8.2.0834 +Problem: :drop command in terminal popup causes problems. +Solution: Check for using a popup window. (closes #6151) +Files: src/ex_cmds.c, src/testdir/test_popupwin.vim + +Patch 8.2.0835 +Problem: Motif: mapping <C-bslash> still doesn't work. +Solution: Accept CSI for K_SPECIAL. Do not apply CTRL to the character + early. (closes #6150) +Files: src/getchar.c, src/gui_x11.c + +Patch 8.2.0836 +Problem: Not all :cdo output is visible. +Solution: Reset 'shortmess' temporarily. (Yegappan Lakshmanan, closes #6155) +Files: src/ex_cmds2.c, src/testdir/test_cdo.vim + +Patch 8.2.0837 +Problem: Compiler warning for value set but not used. +Solution: Move variable inside #ifdef. +Files: src/channel.c + +Patch 8.2.0838 +Problem: MS-Windows: compiler warning for uninitialized variables. +Solution: Initialize variables. +Files: src/screen.c + +Patch 8.2.0839 +Problem: Dropping modifier when putting a character back in typeahead. +Solution: Add modifier to ins_char_typebuf(). (closes #6158) +Files: src/getchar.c, src/proto/getchar.pro, src/message.c, src/normal.c, + src/terminal.c, src/globals.h, src/testdir/test_messages.vim + +Patch 8.2.0840 +Problem: Search match count wrong when only match is in fold. +Solution: Update search stats when in a closed fold. (Christian Brabandt, + closes #6160, closes #6152) +Files: src/search.c, src/testdir/dumps/Test_searchstat_3.dump, + src/testdir/test_search_stat.vim + +Patch 8.2.0841 +Problem: 'verbose' value 16 causes duplicate output. +Solution: Combine levels 15 and 16 into one message. (Christian Brabandt, + closes #6153) +Files: runtime/doc/options.txt, src/ex_docmd.c + +Patch 8.2.0842 (after 8.2.0837) +Problem: MS-Windows: channel tests fail. +Solution: Adjust #ifdefs. (closes #6162) +Files: src/channel.c + +Patch 8.2.0843 +Problem: Filetype elm not detected. +Solution: Recognize *.elm files. (closes #6157) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0844 +Problem: Text properties crossing lines not handled correctly. +Solution: When saving for undo include an extra line when needed and do not + adjust properties when undoing. (Axel Forsman, closes #5875) +Files: src/memline.c, src/proto/memline.pro, src/undo.c, src/structs.h + +Patch 8.2.0845 +Problem: Text properties crossing lines not handled correctly. +Solution: When joining lines merge text properties if possible. + (Axel Forsman, closes #5839, closes #5683) +Files: src/testdir/test_textprop.vim, src/memline.c, src/ops.c, + src/proto/textprop.pro, src/textprop.c, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.2.0846 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/undo.c + +Patch 8.2.0847 +Problem: Typval related code is spread out. +Solution: Move code to new typval.c file. (Yegappan Lakshmanan, closes #6093) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/globals.h, src/proto.h, + src/proto/eval.pro, src/proto/evalfunc.pro, src/proto/typval.pro, + src/typval.c + +Patch 8.2.0848 +Problem: MS-Windows: the Windows terminal code has some flaws. +Solution: Do not redraw the right edge of the screen. Remove the background + color trick. Flush the screen output buffer often. (Nobuhiro + Takasaki, #5546) +Files: src/os_win32.c, src/proto/os_win32.pro, src/term.c + +Patch 8.2.0849 +Problem: BeOS code is not maintained and probably unused. +Solution: Remove the BeOS code. (Emir Sarı, closes #5817) +Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure, + src/evalfunc.c, src/normal.c, src/os_beos.c, src/os_beos.h, + src/os_beos.rsrc, src/os_unix.c, src/proto.h, + src/proto/os_beos.pro, src/pty.c, src/screen.c, src/term.c, + src/testdir/test_functions.vim, src/ui.c, src/vim.h + +Patch 8.2.0850 +Problem: MS-Windows: exepath() works differently from cmd.exe. +Solution: Make exepath() work better on MS-Windows. (closes #6115) +Files: runtime/doc/eval.txt, src/os_win32.c, + src/testdir/test_functions.vim + +Patch 8.2.0851 (after 8.2.0833) +Problem: Can't distinguish <M-a> from accented "a" in the GUI. +Solution: Use another way to make mapping <C-bslash> work. (closes #6163) +Files: src/gui.c, src/gui_gtk_x11.c, src/getchar.c + +Patch 8.2.0852 +Problem: Cannot map CTRL-S on some systems. +Solution: Do not use CTRL-S for flow control. +Files: src/os_unix.c + +Patch 8.2.0853 +Problem: ml_delete() often called with FALSE argument. +Solution: Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE. +Files: src/buffer.c, src/change.c, src/diff.c, src/evalbuffer.c, + src/ex_cmds.c, src/ex_docmd.c, src/fileio.c, src/if_lua.c, + src/if_mzsch.c, src/if_ruby.c, src/if_tcl.c, src/normal.c, + src/popupmenu.c, src/popupwin.c, src/quickfix.c, src/spell.c, + src/terminal.c, src/if_perl.xs, src/if_py_both.h, src/memline.c, + src/proto/memline.pro + +Patch 8.2.0854 +Problem: Xxd cannot show offset as a decimal number. +Solution: Add the "-d" flag. (Aapo Rantalainen, closes #5616) +Files: src/testdir/test_xxd.vim, src/xxd/xxd.c + +Patch 8.2.0855 +Problem: GUI tests fail because the test doesn't use a modifier. +Solution: Add "\{xxx}" to be able to encode a modifier. +Files: runtime/doc/eval.txt, src/typval.c, src/misc2.c, src/vim.h, + src/proto/misc2.pro, src/gui_mac.c, src/option.c, src/highlight.c, + src/term.c, src/testdir/test_backspace_opt.vim, + src/testdir/test_mapping.vim, src/testdir/test_messages.vim + +Patch 8.2.0856 (after 8.2.0852) +Problem: CTRL-S stops output. +Solution: Invert the IXON flag. (closes #6166) +Files: src/os_unix.c + +Patch 8.2.0857 +Problem: GTK cell height can be a pixel too much. +Solution: Subtract 3 instead of 1 when rounding. (closes #6168) +Files: src/gui_gtk_x11.c + +Patch 8.2.0858 +Problem: Not easy to require Lua modules. +Solution: Improve use of Lua path. (Prabir Shrestha, closes #6098) +Files: Filelist, src/if_lua.c, src/optionstr.c, src/proto/if_lua.pro, + src/testdir/test_lua.vim, + src/testdir/testluaplugin/lua/testluaplugin/hello.lua, + src/testdir/testluaplugin/lua/testluaplugin/init.lua + +Patch 8.2.0859 +Problem: No Turkish translation of the manual. +Solution: Add Turkish translations. (Emir Sarı, closes #5641) +Files: Filelist, runtime/doc/Makefile, runtime/doc/evim-tr.1, + runtime/doc/evim-tr.UTF-8.1, runtime/doc/vim-tr.1, + runtime/doc/vim-tr.UTF-8.1, runtime/doc/vimdiff-tr.1, + runtime/doc/vimdiff-tr.UTF-8.1, runtime/doc/vimtutor-tr.1, + runtime/doc/vimtutor-tr.UTF-8.1, src/Makefile + +Patch 8.2.0860 +Problem: Cannot use CTRL-A and CTRL-X on unsigned numbers. +Solution: Add "unsigned" to 'nrformats'. (Naruhiko Nishino, closes #6144) +Files: runtime/doc/options.txt, src/ops.c, src/optionstr.c, + src/testdir/test_increment.vim + +Patch 8.2.0861 +Problem: Cannot easily get all the current marks. +Solution: Add getmarklist(). (Yegappan Lakshmanan, closes #6032) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/mark.c, src/proto/mark.pro, src/testdir/test_marks.vim + +Patch 8.2.0862 +Problem: ":term ++curwin" makes the current buffer hidden. (Harm te + Hennepe) +Solution: Do not hide the current buffer. (closes #6170) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0863 +Problem: Cannot set a separate color for underline/undercurl. +Solution: Add the t_AU and t_8u termcap codes. (Timur Celik, closes #6011) +Files: runtime/doc/syntax.txt, runtime/doc/term.txt, src/globals.h, + src/highlight.c, src/optiondefs.h, src/proto/term.pro, + src/screen.c, src/structs.h, src/term.c, src/term.h, + src/testdir/test_options.vim + +Patch 8.2.0864 +Problem: Pragmas are indented all the way to the left. +Solution: Add an option to indent pragmas like normal code. (Max Rumpf, + closes #5468) +Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h, + src/testdir/test_cindent.vim + +Patch 8.2.0865 +Problem: Syntax foldlevel is taken from the start of the line. +Solution: Add ":syn foldlevel" to be able to use the minimal foldlevel in + the line. (Brad King, closes #6087) +Files: runtime/doc/syntax.txt, src/structs.h, src/syntax.c, + src/testdir/test_syntax.vim + +Patch 8.2.0866 +Problem: Not enough tests for buffer writing. +Solution: Add more tests. Use CheckRunVimInTerminal in more places. + (Yegappan Lakshmanan, closes #6167) +Files: src/testdir/test_arglist.vim, src/testdir/test_match.vim, + src/testdir/test_messages.vim, src/testdir/test_netbeans.py, + src/testdir/test_netbeans.vim, src/testdir/test_search.vim, + src/testdir/test_signals.vim, src/testdir/test_signs.vim, + src/testdir/test_startup.vim, src/testdir/test_startup_utf8.vim, + src/testdir/test_syntax.vim, src/testdir/test_tabpage.vim, + src/testdir/test_timers.vim, src/testdir/test_vimscript.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0867 +Problem: Using \{xxx} for encoding a modifier is not nice. +Solution: Use \<*xxx> instead, since it's the same as \<xxx> but producing a + different code. +Files: runtime/doc/eval.txt, src/typval.c, src/misc2.c, src/vim.h, + src/testdir/test_backspace_opt.vim, src/testdir/test_mapping.vim, + src/testdir/test_messages.vim + +Patch 8.2.0868 +Problem: trim() always trims both ends. +Solution: Add an argument to only trim the beginning or end. (Yegappan + Lakshmanan, closes #6126) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.0869 +Problem: It is not possible to customize the quickfix window contents. +Solution: Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes #5465) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/quickfix.txt, src/option.h, src/optiondefs.h, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0870 +Problem: MS-Windows: Control keys don't work in the GUI. +Solution: Don't set seenModifyOtherKeys for now. (Yasuhiro Matsumoto, + closes #6175) +Files: src/gui.c + +Patch 8.2.0871 +Problem: Cannot use getmarklist() as a method. +Solution: Make getmarklist() work as a method. Add one to the column + number to match getpos(). (Yegappan Lakshmanan, closes #6176) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/mark.c, + src/testdir/test_marks.vim + +Patch 8.2.0872 +Problem: XIM code is mixed with multibyte code. +Solution: Move the XIM code to a separate file. (Yegappan Lakshmanan, + closes #6177) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/gui_xim.c, + src/mbyte.c, src/proto.h, src/proto/gui_xim.pro, + src/proto/mbyte.pro + +Patch 8.2.0873 +Problem: A .jl file can be sawfish (lisp) or Julia. +Solution: Do not recognize *.jl as lisp, since it might be Julia. + (closes #6178) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0874 +Problem: Signals test is a bit flaky. +Solution: Flush the XautoOut file. Delete files that may be left behind + from a failure. (Dominique Pellé, closes #6179) +Files: src/testdir/test_signals.vim + +Patch 8.2.0875 +Problem: Getting attributes for directory entries is slow. +Solution: Add readdirex(). (Ken Takata, closes #5619) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/fileio.c, src/filepath.c src/proto/fileio.pro, + src/proto/filepath.pro, src/testdir/test_functions.vim + +Patch 8.2.0876 +Problem: :pwd does not give a hint about the scope of the directory +Solution: Make ":verbose pwd" show the scope. (Takuya Fujiwara, closes #5469) +Files: runtime/doc/editing.txt, src/ex_docmd.c, src/testdir/test_cd.vim + +Patch 8.2.0877 +Problem: Cannot get the search statistics. +Solution: Add the searchcount() function. (Fujiwara Takuya, closes #4446) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/macros.h, + src/proto/search.pro, src/search.c, + src/testdir/test_search_stat.vim + +Patch 8.2.0878 +Problem: No reduce() function. +Solution: Add a reduce() function. (closes #5481) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/globals.h, src/list.c, + src/proto/list.pro, src/testdir/test_listdict.vim + +Patch 8.2.0879 +Problem: Compiler warning for unused function argument. +Solution: Add UNUSED. +Files: src/search.c + +Patch 8.2.0880 (after 8.2.0877) +Problem: Leaking memory when using searchcount(). +Solution: Free the last used search pattern. +Files: src/search.c + +Patch 8.2.0881 +Problem: Compiler warning for argument type. +Solution: Add type cast. (Mike Williams) +Files: src/ops.c + +Patch 8.2.0882 +Problem: Leaking memory when using reduce(). +Solution: Free the intermediate value. +Files: src/list.c + +Patch 8.2.0883 +Problem: Memory leak in test 49. +Solution: Free "sfile" from the exception. +Files: src/ex_docmd.c + +Patch 8.2.0884 +Problem: Searchcount() test fails on slower systems. +Solution: Set a longer timeout. +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.2.0885 +Problem: "make shadow" does not link new lua test dir. +Solution: Also link testdir/testluaplugin. (Elimar Riesebieter) +Files: src/Makefile + +Patch 8.2.0886 +Problem: Cannot use octal numbers in scriptversion 4. +Solution: Add the "0o" notation. (Ken Takata, closes #5304) +Files: runtime/doc/eval.txt, src/charset.c, src/evalfunc.c, + src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, + src/vim.h + +Patch 8.2.0887 +Problem: Searchcount().exact_match is 1 right after a match. +Solution: Use LT_POS() instead of LTOREQ_POS(). (closes #6189) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.2.0888 +Problem: Readdirex() returns size -2 for a directory. +Solution: Add missing "else". (Ken Takata, closes #6185) +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.0889 +Problem: Using old style comments. +Solution: Use // comments. (Yegappan Lakshmanan, closes #6190) +Files: src/gui_xim.c + +Patch 8.2.0890 +Problem: No color in terminal window when 'termguicolors' is set. +Solution: Clear the underline color. (closes #6186) +Files: src/highlight.c + +Patch 8.2.0891 +Problem: Clang warns for invalid conversion. +Solution: Use zero instead of INVALCOLOR. +Files: src/highlight.c + +Patch 8.2.0892 +Problem: Ubsan warns for undefined behavior. +Solution: Use unsigned instead of signed variable. (Dominique Pellé, + closes #6193) +Files: src/regexp_nfa.c + +Patch 8.2.0893 +Problem: Assert_equalfile() does not take a third argument. +Solution: Implement the third argument. (Gary Johnson) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_assert.vim, src/testing.c + +Patch 8.2.0894 +Problem: :mkspell can take very long if the word count is high. +Solution: Use long to avoid negative numbers. Increase the limits by 20% if + the compression did not have effect. +Files: src/spellfile.c + +Patch 8.2.0895 +Problem: :mkspell output does not mention the tree type. +Solution: Back out increasing the limits, it has no effect. Mention the + tree being compressed. Only give a message once per second. +Files: src/spellfile.c + +Patch 8.2.0896 +Problem: Crash when calling searchcount() with a string. +Solution: Check the argument is a dict. (closes #6192) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.2.0897 +Problem: List of functions in patched version is outdated. +Solution: Update the function lists only. +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt + +Patch 8.2.0898 +Problem: Missing help for a function goes unnoticed. +Solution: Add a test. (Gary Johnson) +Files: src/testdir/test_function_lists.vim, src/testdir/Make_all.mak + +Patch 8.2.0899 +Problem: Assert_equalfile() does not give a hint about the difference. +Solution: Display the last seen text. +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.0900 +Problem: Function list test fails on MS-Windows. +Solution: Make sure the fileformat is "unix" +Files: src/testdir/test_function_lists.vim + +Patch 8.2.0901 +Problem: Formatting CJK text isn't optimal. +Solution: Properly break CJK lines. (closes #3875) +Files: runtime/doc/change.txt, src/mbyte.c, src/ops.c, src/option.h, + src/proto/mbyte.pro, src/testdir/Make_all.mak, src/textformat.c, + src/testdir/test_cjk_linebreak.vim + +Patch 8.2.0902 +Problem: Using searchcount() in 'statusline' causes an error. +Solution: Avoid saving/restoring the search pattern recursively. + (closes #6194) +Files: src/search.c, src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstat_4.dump + +Patch 8.2.0903 +Problem: comparing WINVER does not work correctly. +Solution: Use arithmetic expansion. (Ozaki Kiichi, closes #6197) +Files: src/Make_cyg_ming.mak + +Patch 8.2.0904 +Problem: Assuming modifyOtherKeys for rhs of mapping. +Solution: Ignore seenModifyOtherKeys for mapped characters. (closes #6200) +Files: src/getchar.c, src/testdir/test_gui.vim + +Patch 8.2.0905 +Problem: Test coverage could be better. +Solution: Add a couple of tests. (Dominique Pellé, closes #6202) +Files: src/testdir/test_cmdline.vim, src/testdir/test_ga.vim + +Patch 8.2.0906 +Problem: When setting 'termguicolors' SpellBad is no longer red. +Solution: Only use the RGB guisp color for cterm when using the "underline" + or "undercurl" attributes to avoid the background color to be + cleared. Also make t_8u empty when the termresponse indicates a + real xterm. (closes #6207) +Files: src/highlight.c, src/term.c + +Patch 8.2.0907 +Problem: When using :global clipboard isn't set correctly. +Solution: Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian + Brabandt, closes #6203, closes #6198) +Files: src/clipboard.c, src/testdir/test_global.vim + +Patch 8.2.0908 +Problem: Crash when changing the function table while listing it. +Solution: Bail out when the function table changes. (closes #6209) +Files: src/userfunc.c, src/testdir/test_timers.vim + +Patch 8.2.0909 +Problem: Cannot go back to the previous local directory. +Solution: Add "tcd -" and "lcd -". (Yegappan Lakshmanan, closes #4362) +Files: runtime/doc/editing.txt, src/filepath.c, src/ex_docmd.c, + src/structs.h, src/testdir/test_cd.vim, src/window.c + +Patch 8.2.0910 +Problem: Vim is not reproducibly buildable. +Solution: Use the $SOURCE_DATE_EPOCH environment variable in configure. + (James McCoy, closes #513) Give a warning about using it. +Files: src/config.h.in, src/config.mk.in, src/configure.ac, + src/auto/configure, src/version.c, src/Makefile + +Patch 8.2.0911 +Problem: Crash when opening a buffer for the cmdline window fails. (Chris + Barber) +Solution: Check do_ecmd() succeeds. Reset got_int if "q" was used at the + more prompt. (closes #6211) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_cmdwin_interrupted.dump + +Patch 8.2.0912 +Problem: A few test cases for CJK formatting are disabled. +Solution: Fix the tests and enable them. (closes #6212) +Files: src/testdir/test_cjk_linebreak.vim + +Patch 8.2.0913 +Problem: Code for resetting v:register is duplicated. +Solution: Add reset_reg_var(). +Files: src/evalvars.c, src/proto/evalvars.pro, src/main.c, src/normal.c + +Patch 8.2.0914 +Problem: MS-Windows: cannot specify a "modified by" text. +Solution: Add MODIFIED_BY in the MSVC build file. (Chen Lei, closes #1275) +Files: src/Make_mvc.mak + +Patch 8.2.0915 +Problem: Search() cannot skip over matches like searchpair() can. +Solution: Add an optional "skip" argument. (Christian Brabandt, closes #861) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_syntax.vim, + src/structs.h, src/evalvars.c, src/proto/evalvars.pro + +Patch 8.2.0916 +Problem: Mapping with partly modifyOtherKeys code does not work. +Solution: If there is no mapping with a separate modifier include the + modifier in the key and then try mapping again. (closes #6200) +Files: src/getchar.c, src/proto/getchar.pro, src/edit.c, src/term.c, + src/proto/term.pro, src/testdir/test_termcodes.vim + +Patch 8.2.0917 +Problem: Quickfix entries do not support a "note" type. +Solution: Add support for "note". (partly by Yegappan Lakshmanan, + closes #5527, closes #6216) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0918 +Problem: Duplicate code for evaluating expression argument. +Solution: Merge the code and make the use more flexible. +Files: src/evalfunc.c, src/eval.c, src/proto/eval.pro, src/evalvars.c, + src/proto/evalvars.pro, src/structs.h + +Patch 8.2.0919 +Problem: Merging modifier for modifyOtherKeys is done twice. +Solution: Remove the merging done in vgetc(). +Files: src/getchar.c, src/ex_getln.c + +Patch 8.2.0920 +Problem: Writing viminfo fails with a circular reference. +Solution: Use copyID to detect the cycle. (closes #6217) +Files: src/testdir/test_viminfo.vim, src/viminfo.c + +Patch 8.2.0921 +Problem: CTRL-W T in cmdline window causes trouble. +Solution: Disallow CTRL-W T in the cmdline window. Add more tests. + (Naruhiko Nishino, closes #6219) +Files: src/testdir/test_cmdline.vim, src/window.c + +Patch 8.2.0922 +Problem: Search test fails. +Solution: Remove failure tests for calls that no longer fail. +Files: src/testdir/test_search.vim + +Patch 8.2.0923 +Problem: Cmdline test is slow. +Solution: Use WaitForAssert(). +Files: src/testdir/test_cmdline.vim + +Patch 8.2.0924 +Problem: Cannot save and restore a register properly. +Solution: Add getreginfo() and make setreg() accept a dictionary. (Andy + Massimino, closes #3370) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/register.pro, src/register.c, + src/testdir/test_eval_stuff.vim, src/testdir/test_registers.vim + +Patch 8.2.0925 +Problem: Getcompletion() does not return command line arguments. +Solution: Add the "cmdline" option. (Shougo, closes #1140) +Files: runtime/doc/eval.txt, src/cmdexpand.c, + src/testdir/test_cmdline.vim + +Patch 8.2.0926 +Problem: Cmdline test fails on Appveyor. +Solution: Add CR to the commands. (Naruhiko Nishino, closes #6220) +Files: src/testdir/test_cmdline.vim + +Patch 8.2.0927 +Problem: Some sshconfig and ssdhconfig files are not recognized. +Solution: Add filetype patterns. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0928 +Problem: Many type casts are used for vim_strnsave(). +Solution: Make the length argument size_t instead of int. (Ken Takata, + closes #5633) Remove some type casts. +Files: src/misc2.c, src/proto/misc2.pro, src/autocmd.c, src/channel.c, + src/cmdexpand.c, src/dict.c, src/diff.c, src/digraph.c, + src/eval.c, src/evalfunc.c, src/highlight.c, src/syntax.c + +Patch 8.2.0929 +Problem: v:register is not cleared after an operator was executed. +Solution: Clear v:register after finishing an operator (Andy Massimino, + closes #5305) +Files: src/normal.c, src/testdir/test_registers.vim + +Patch 8.2.0930 +Problem: Script filetype detection trips over env -S argument. +Solution: Remove "-S" and "--ignore-environment". (closes #5013) + Add tests. +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.0931 +Problem: Some remarks about BeOS remain. +Solution: Remove BeOS remarks from the help and other files. (Emir Sarı, + closes #6221) +Files: READMEdir/README_extra.txt, runtime/doc/options.txt, + runtime/doc/os_beos.txt, runtime/doc/os_vms.txt, + runtime/doc/vi_diff.txt, src/INSTALL + +Patch 8.2.0932 +Problem: Misspelling spelllang. +Solution: Add an "l". (Dominique Pellé) +Files: src/optionstr.c, src/proto/spell.pro, src/spell.c + +Patch 8.2.0933 +Problem: 'quickfixtextfunc' does not get window ID of location list. +Solution: Add "winid" to the dict argument. (Yegappan Lakshmanan, + closes #6222) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0934 +Problem: Running lhelpgrep twice in a help window doesn't jump to the help + topic. +Solution: Check whether any window with the location list is present. + (Yegappan Lakshmanan, closes #6215) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0935 +Problem: Flattening a list with existing code is slow. +Solution: Add flatten(). (Mopp, closes #3676) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/testdir/Make_all.mak, + src/testdir/test_flatten.vim + +Patch 8.2.0936 +Problem: Some terminals misinterpret the code for getting cursor style. +Solution: Send a sequence to the terminal and check the result. (IWAMOTO + Kouichi, closes #2126) Merged with current code. +Files: src/main.c, src/term.c, src/proto/term.pro, + src/testdir/term_util.vim, src/testdir/test_quickfix.vim, + src/testdir/test_terminal.vim, src/testdir/test_startup_utf8.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump, + src/testdir/dumps/Test_balloon_eval_term_02.dump, + src/testdir/dumps/Test_terminal_all_ansi_colors.dump + +Patch 8.2.0937 +Problem: Asan failure in the flatten() test. +Solution: Free the flattened list. +Files: src/list.c + +Patch 8.2.0938 +Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) +Solution: Use utf_fold() when possible. (ref. neovim #12456) +Files: src/macros.h, src/diff.c, src/regexp_nfa.c, + src/testdir/test_regexp_utf8.vim + +Patch 8.2.0939 +Problem: checking for term escape sequences is long and confusing +Solution: Refactor code into separate functions. +Files: src/term.c + +Patch 8.2.0940 (after 8.2.0939) +Problem: Build failure with tiny features. +Solution: Add #ifdef. Add UNUSED. A bit more cleaning up. +Files: src/term.c + +Patch 8.2.0941 +Problem: Detecting terminal properties is unstructured. +Solution: Add a table with terminal properties. Set properties when a + terminal is detected. +Files: src/term.c + +Patch 8.2.0942 +Problem: Expanding to local dir after homedir keeps "~/". +Solution: Adjust modify_fname(). (Christian Brabandt, closes #6205, + closes #5979) +Files: src/filepath.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.0943 +Problem: Displaying ^M or ^J depends on current buffer. +Solution: Pass the displayed buffer to transchar(). (closes #6225) +Files: src/drawline.c, src/charset.c, src/proto/charset.pro, + src/ex_cmds.c, src/gui_beval.c, src/message.c, + src/testdir/test_display.vim, + src/testdir/dumps/Test_display_unprintable_01.dump, + src/testdir/dumps/Test_display_unprintable_02.dump + +Patch 8.2.0944 +Problem: Xxd test leaves file behind. +Solution: Delete the file "XXDfile". (Christian Brabandt, closes #6228) +Files: src/testdir/test_xxd.vim + +Patch 8.2.0945 +Problem: Cannot use "z=" when 'spell' is off. +Solution: Make "z=" work even when 'spell' is off. (Christian Brabandt, + Gary Johnson, closes #6227) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/spell.c, + src/spellsuggest.c, src/testdir/test_spell.vim, src/globals.h + +Patch 8.2.0946 +Problem: Cannot use "q" to cancel a number prompt. +Solution: Recognize "q" instead of ignoring it. +Files: src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.0947 +Problem: Readdirex() doesn't handle broken link properly. +Solution: Small fixes to readdirex(). (Christian Brabandt, closes #6226, + closes #6213) +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.0948 +Problem: Spell test fails. +Solution: Adjust expected text of the prompt. +Files: src/testdir/test_spell.vim + +Patch 8.2.0949 +Problem: Strptime() does not use DST. +Solution: Set the tm_isdst field to -1. (Tomáš Janoušek, closes #6230) +Files: src/time.c, src/testdir/test_functions.vim + +Patch 8.2.0950 +Problem: Tagjump test fails. +Solution: Adjust expected text of the prompt. +Files: src/testdir/test_tagjump.vim + +Patch 8.2.0951 +Problem: Search stat test has leftover from debugging. +Solution: Remove line that writes a file. (Christian Brabandt, closes #6224) +Files: src/testdir/test_search_stat.vim + +Patch 8.2.0952 +Problem: No simple way to interrupt Vim. +Solution: Add the SigUSR1 autocommand, triggered by SIGUSR1. (Jacob Hayes, + closes #1718) +Files: runtime/doc/autocmd.txt, src/vim.h, src/autocmd.c, src/getchar.c, + src/globals.h, src/os_unix.c, src/testdir/test_autocmd.vim + +Patch 8.2.0953 +Problem: Spell checking doesn't work for CamelCased words. +Solution: Add the "camel" value in the new option 'spelloptions'. + (closes #1235) +Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/optiondefs.h, + src/option.h, src/option.c, src/buffer.c, src/optionstr.c, + src/testdir/gen_opt_test.vim, src/testdir/test_spell.vim + +Patch 8.2.0954 +Problem: Not all desktop files are recognized. +Solution: Add the *.directory pattern. (Eisuke Kawashima, closes #3317) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0955 (after 8.2.0953) +Problem: Build fails. +Solution: Add missing struct change. +Files: src/structs.h + +Patch 8.2.0956 (after 8.2.0953) +Problem: Spell test fails. +Solution: Add missing change the spell checking. +Files: src/spell.c + +Patch 8.2.0957 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize one variable. +Files: src/spell.c + +Patch 8.2.0958 +Problem: Not sufficient testing for buffer writing. +Solution: Add a few tests. (Yegappan Lakshmanan, closes #6238) +Files: src/testdir/test_backup.vim, src/testdir/test_writefile.vim + +Patch 8.2.0959 +Problem: Using 'quickfixtextfunc' is a bit slow. +Solution: Process a list of entries. (Yegappan Lakshmanan, closes #6234) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0960 +Problem: Cannot use :import in legacy Vim script. +Solution: Support :import in any Vim script. +Files: src/vim9script.c, src/evalvars.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0961 +Problem: MS-Windows: no completion for locales. +Solution: Use the directories in $VIMRUNTIME/lang to complete locales. + (Christian Brabandt, closes 36248) +Files: src/cmdexpand.c, src/ex_cmds2.c, src/testdir/test_cmdline.vim + +Patch 8.2.0962 +Problem: Terminal test sometimes hangs on Travis. +Solution: Do show output for this test temporarily. +Files: src/testdir/Makefile + +Patch 8.2.0963 +Problem: Number increment/decrement does not work with 'virtualedit'. +Solution: Handle coladd changing. (Christian Brabandt, closes #6240, + closes #923) +Files: runtime/doc/options.txt, runtime/doc/various.txt, src/ops.c, + src/testdir/test_increment.vim + +Patch 8.2.0964 +Problem: TextYankPost does not provide info about Visual selection. +Solution: Add the 'visual' key in v:event. (closes #6249) +Files: runtime/doc/autocmd.txt, src/register.c, + src/testdir/test_autocmd.vim + +Patch 8.2.0965 +Problem: Has_funcundefined() is not used. +Solution: Delete the function. (Dominique Pellé, closes #6242) +Files: src/autocmd.c, src/proto/autocmd.pro + +Patch 8.2.0966 +Problem: 'shortmess' flag "n" not used in two places. +Solution: Make use of the "n" flag consistent. (Nick Jensen, closes #6245, + closes #6244) +Files: src/bufwrite.c, src/proto/bufwrite.pro, src/buffer.c, + src/fileio.c, src/testdir/dumps/Test_popup_textprop_corn_5.dump, + src/testdir/dumps/Test_start_with_tabs.dump + +Patch 8.2.0967 +Problem: Unnecessary type casts for vim_strnsave(). +Solution: Remove the type casts. +Files: src/evalvars.c, src/ex_cmds.c, src/ex_eval.c, src/fileio.c, + src/filepath.c, src/findfile.c, src/highlight.c, src/if_ruby.c, + src/insexpand.c, src/json.c, src/mark.c, src/memline.c, + src/menu.c, src/misc1.c, src/ops.c, src/os_win32.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/search.c, + src/sign.c, src/syntax.c, src/term.c, src/terminal.c, src/undo.c, + src/usercmd.c, src/userfunc.c, src/vim9compile.c, src/if_perl.xs + +Patch 8.2.0968 +Problem: No proper testing of the 'cpoptions' flags. +Solution: Add tests. (Yegappan Lakshmanan, closes #6251) +Files: src/testdir/Make_all.mak, src/testdir/test_cpoptions.vim, + src/testdir/test_edit.vim, src/testdir/test_normal.vim + +Patch 8.2.0969 +Problem: Assert_equal() output for dicts is hard to figure out. +Solution: Only show the different items. +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.0970 +Problem: Terminal properties are not available in Vim script. +Solution: Add the terminalprops() function. +Files: src/term.c, src/proto/term.pro, src/evalfunc.c, src/main.c, + src/testing.c, src/globals.h, src/testdir/test_termcodes.vim, + runtime/doc/usr_41.txt, runtime/doc/eval.txt, + runtime/doc/testing.txt + +Patch 8.2.0971 +Problem: Build with tiny features fails. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.2.0972 +Problem: Vim9 script variable declarations need a type. +Solution: Make "let var: type" declare a script-local variable. +Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, + src/globals.h, src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0973 +Problem: Vim9: type is not checked when assigning to a script variable. +Solution: Check the type. +Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, + src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.0974 +Problem: Vim9: memory leak when script var has wrong type. +Solution: Free the variable name. +Files: src/vim9script.vim + +Patch 8.2.0975 +Problem: Vim9: script variable does not accept optional s: prefix. +Solution: Adjust the accepted syntax. +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0976 +Problem: Some 'cpoptions' not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6253) +Files: src/testdir/test_cd.vim, src/testdir/test_charsearch.vim, + src/testdir/test_cpoptions.vim, src/testdir/test_normal.vim + +Patch 8.2.0977 +Problem: t_8u is made empty for the wrong terminals. (Dominique Pelle) +Solution: Invert the check for TPR_YES. (closes #6254) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.0978 +Problem: Leaking memory in termcodes test. +Solution: Set t_8u with set_option_value(). +Files: src/term.c + +Patch 8.2.0979 +Problem: A couple of screendump tests fail. +Solution: Do not redraw when clearing t_8u. +Files: src/term.c + +Patch 8.2.0980 +Problem: Raku file extension not recognized. (Steven Penny) +Solution: Recognize .raku and .rakumod. (closes #6255) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0981 +Problem: Vim9: cannot compile "[var, var] = list". +Solution: Implement list assignment. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c, + src/proto/evalvars.pro src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0982 +Problem: Insufficient testing for reading/writing files. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6257) + Add "ui_delay" to test_override() and use it for the CTRL-O test. +Files: src/testing.c, src/globals.h, src/ui.c, runtime/doc/testing.txt, + src/testdir/test_autocmd.vim, src/testdir/test_edit.vim, + src/testdir/test_filechanged.vim, src/testdir/test_writefile.vim + +Patch 8.2.0983 +Problem: SConstruct file type not recognized. +Solution: Use python for SConstruct files. (Roland Hieber) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0984 +Problem: Not using previous window when closing a shell popup window. +Solution: Use "prevwin" if it was set. (closes #6267) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.0985 +Problem: Simplify() does not remove slashes from "///path". +Solution: Reduce > 2 slashes to one. (closes #6263) +Files: src/findfile.c, src/testdir/test_functions.vim + +Patch 8.2.0986 (after 8.2.0985) +Problem: MS-Windows: functions test fails. +Solution: Only simplify ///path on Unix. +Files: src/testdir/test_functions.vim + +Patch 8.2.0987 +Problem: Vim9: cannot assign to [var; var]. +Solution: Assign rest of items to a list. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/list.c, + src/proto/list.pro, src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0988 +Problem: Getting directory contents is always case sorted. +Solution: Add sort options and v:collate. (Christian Brabandt, closes #6229) +Files: runtime/doc/eval.txt, runtime/doc/mlang.txt, src/auto/configure, + src/cmdexpand.c, src/config.h.in, src/configure.ac, + src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c, + src/filepath.c, src/globals.h, src/proto/fileio.pro, + src/testdir/test_cmdline.vim, src/testdir/test_functions.vim + src/vim.h + +Patch 8.2.0989 +Problem: Crash after resizing a terminal window. (August Masquelier) +Solution: Add check for valid row in libvterm. (closes #6273) +Files: src/libvterm/src/state.c, src/libvterm/src/screen.c + +Patch 8.2.0990 (after 8.2.0988) +Problem: Using duplicate error number. +Solution: Use an unused error number. Add a test for it. +Files: src/globals.h, src/testdir/test_functions.vim + +Patch 8.2.0991 +Problem: Cannot get window type for autocmd and preview window. +Solution: Add types to win_gettype(). (Yegappan Lakshmanan, closes #6277) +Files: runtime/doc/eval.txt, src/evalwindow.c, + src/testdir/test_autocmd.vim, src/testdir/test_preview.vim + +Patch 8.2.0992 +Problem: Vim9: crash when using :import in the Vim command. +Solution: Give an error when using :import outside of a script. + (closes #6271) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim, + src/testdir/term_util.vim + +Patch 8.2.0993 +Problem: Vim9 script test fails with normal features. +Solution: Use :func instead of :def for now. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0994 +Problem: Vim9: missing function causes compilation error. +Solution: Call test function indirectly. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0995 +Problem: Insufficient testing for the readdir() sort option. +Solution: Add a few more tests. (Christian Brabandt, closes #6278) +Files: src/testdir/test_functions.vim + +Patch 8.2.0996 +Problem: Using "aucmdwin" in win_gettype() is not ideal. +Solution: Rename to "autocmd". +Files: runtime/doc/eval.txt, src/evalwindow.c, + src/testdir/test_autocmd.vim + +Patch 8.2.0997 +Problem: Cannot execute a register containing line continuation. +Solution: Concatenate lines where needed. (Yegappan Lakshmanan, + closes #6272) +Files: runtime/doc/repeat.txt, src/register.c, + src/testdir/test_registers.vim + +Patch 8.2.0998 +Problem: Not all tag code is tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6284) +Files: src/testdir/test_tagjump.vim + +Patch 8.2.0999 +Problem: Moving to next sentence gets stuck on quote. +Solution: When moving to the next sentence doesn't result in moving, advance + a character and try again. (closes #6291) +Files: src/textobject.c, src/testdir/test_textobjects.vim + +Patch 8.2.1000 +Problem: Get error when leaving Ex mode with :visual and a CmdLineEnter + autocommand was used. +Solution: Reset ex_pressedreturn. (closes #6293) +Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim + +Patch 8.2.1001 +Problem: Vim9: crash with nested "if" and assignment. +Solution: Skip more of the assignment. Do not set ctx_skip when code is + reachable. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1002 +Problem: Test may fail when run directly. +Solution: Check if g:run_nr exists. (Christian Brabandt, closes #6285) +Files: src/testdir/term_util.vim + +Patch 8.2.1003 +Problem: Vim9: return type of sort() is too generic. +Solution: Get type from the first argument. (closes #6292) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1004 +Problem: Line numbers below filler lines not always updated. +Solution: Don't break out of the win_line() loop too early. (Christian + Brabandt, closes #6294, closes #6138) +Files: src/drawline.c, src/testdir/dumps/Test_diff_rnu_01.dump, + src/testdir/dumps/Test_diff_rnu_02.dump, + src/testdir/dumps/Test_diff_rnu_03.dump, + src/testdir/test_diffmode.vim + +Patch 8.2.1005 +Problem: Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing. +Solution: Use an enum value. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1006 +Problem: Vim9: require unnecessary return statement. +Solution: Improve the use of the had_return flag. (closes #6270) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1007 +Problem: Completion doesn't work after ":r ++arg !". +Solution: Skip over "++arg". (Christian Brabandt, closes #6275, + closes #6258) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.1008 +Problem: Vim9: no test for disassembling newly added instructions. +Solution: Add a function and check disassembly. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1009 +Problem: Vim9: some failures not checked for. +Solution: Add test cases. Remove unused code. +Files: src/testdir/test_vim9_script.vim, src/vim9execute.c + +Patch 8.2.1010 +Problem: Build failure in libvterm with debug enabled. (John Little) +Solution: Use "->" instead of ".". +Files: src/libvterm/src/state.c + +Patch 8.2.1011 +Problem: Vim9: some code not tested. +Solution: Add a few more test cases. Reorder checks for clearer error. + Remove unreachable code. +Files: src/evalvars.c, src/vim9script.c, src/vim9execute.c, + src/proto/vim9script.pro, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1012 +Problem: Vim9: cannot declare single character script variables. +Solution: Don't see "b:", "s:", etc. as namespace. Fix item size of + sn_var_vals. +Files: src/vim9script.c, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1013 +Problem: Channel tests can be a bit flaky. +Solution: Set the g:test_is_flaky flag in SetUp(). +Files: src/testdir/test_channel.vim + +Patch 8.2.1014 +Problem: Using "name" for a string result is confusing. +Solution: Rename to "end". +Files: src/typval.c + +Patch 8.2.1015 +Problem: Popup filter gets key with modifier prepended when using + modifyOtherKeys. +Solution: Remove the shift modifier when it is included in the key, also + when the Alt or Meta modifier is used. +Files: src/term.c, src/misc2.c, src/testdir/test_popupwin.vim + +Patch 8.2.1016 +Problem: Vim9: test fails when channel feature is missing. +Solution: Process an :if command when skipping +Files: src/vim9compile.c + +Patch 8.2.1017 +Problem: Appveyor output doesn't show MinGW console features. +Solution: List the features of the console build. +Files: ci/appveyor.bat + +Patch 8.2.1018 +Problem: Typo in enum value. (James McCoy) +Solution: Fix the typo. +Files: src/vim9compile.c + +Patch 8.2.1019 +Problem: Mapping <M-S-a> does not work in the GUI. +Solution: Move the logic to remove the shift modifier to + may_remove_shift_modifier() and also use it in the GUI. +Files: src/gui_gtk_x11.c, src/misc2.c, src/proto/misc2.pro, src/term.c + +Patch 8.2.1020 +Problem: Popupwin test fails in the GUI. +Solution: Send GUI byte sequence for <C-S-a>. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.1021 +Problem: Ruby interface not tested enough. +Solution: Add a couple more tests. (Dominique Pellé, closes #6301) +Files: src/testdir/test_ruby.vim + +Patch 8.2.1022 +Problem: Various parts of code not covered by tests. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6300) +Files: src/testdir/test_blob.vim, src/testdir/test_cpoptions.vim, + src/testdir/test_digraph.vim, src/testdir/test_edit.vim, + src/testdir/test_iminsert.vim, src/testdir/test_paste.vim, + src/testdir/test_prompt_buffer.vim, + src/testdir/test_selectmode.vim, src/testdir/test_tabpage.vim, + src/testdir/test_tagjump.vim, src/testdir/test_textformat.vim, + src/testdir/test_viminfo.vim, src/testdir/test_virtualedit.vim, + src/testdir/test_visual.vim + +Patch 8.2.1023 +Problem: Vim9: redefining a function uses a new index every time. +Solution: When redefining a function clear the contents and re-use the + index. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/structs.h, src/eval.c, src/evalvars.c, src/vim9execute.c + +Patch 8.2.1024 +Problem: Vim9: no error for using "let g:var = val". +Solution: Add an error. +Files: src/evalvars.c, src/globals.h, src/structs.h, src/vim9compile.c, + src/scriptfile.c, src/userfunc.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1025 +Problem: Tabpage menu and tabline not sufficiently tested. +Solution: Add tests. (Yegappan Lakshmanan, closes #6307) +Files: src/testdir/test_digraph.vim, src/testdir/test_tabpage.vim + +Patch 8.2.1026 +Problem: Vim9: cannot break the line after "->". +Solution: Check for a continuation line after "->", "[" and ".". Ignore + trailing white space. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1027 +Problem: GUI: multibyte characters do not work in a terminal. +Solution: Do not assume a key is one byte. (closes #6304) +Files: src/gui_gtk_x11.c, src/gui_x11.c + +Patch 8.2.1028 +Problem: Vim9: no error for declaring buffer, window, etc. variable. +Solution: Give an error. Unify the error messages. +Files: src/evalvars.c, src/globals.h, src/vim9compile.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1029 +Problem: Vim9: cannot chain function calls with -> at line start. +Solution: Peek ahead for a following line starting with "->". (closes #6306) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1030 +Problem: Reducing size of a terminal window may cause a crash. +Solution: Make sure the row and column don't become negative. (closes #6273) +Files: src/libvterm/src/state.c, src/libvterm/src/screen.c + +Patch 8.2.1031 +Problem: Build failure with Perl5.32. +Solution: Define a few more functions. (Felix Yan, closes #6310) +Files: src/if_perl.xs + +Patch 8.2.1032 +Problem: Error message for declaring a variable cannot be translated. +Solution: Enclose in _(). Make environment variable a separate message. +Files: src/globals.h, src/vim9compile.c + +Patch 8.2.1033 +Problem: Not easy to read the test time in the test output. +Solution: Align the times. Make slow tests bold. +Files: src/testdir/runtest.vim + +Patch 8.2.1034 +Problem: Compiler warning for uninitialized variables. +Solution: Add initializations. (John Marriott) +Files: src/vim9compile.c + +Patch 8.2.1035 +Problem: setreg() does not always clear the register. +Solution: Clear the register if the dict argument is empty. (Andy Massimino, + closes #3370) +Files: src/evalfunc.c, src/testdir/test_registers.vim + +Patch 8.2.1036 +Problem: Popupwin test fails sometimes. +Solution: Use WaitForAssert() instead of a sleep. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.1037 +Problem: Vim9: crash when using line continuation inside :def. +Solution: Check for no more lines available. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1038 +Problem: Popupwin test fails. +Solution: Fix WaitForAssert() argument. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.1039 +Problem: Cannot put NUL byte on clipboard. +Solution: Use the text length. (Christian Brabandt, closes #6312, + closes #6149) +Files: src/winclip.c, src/testdir/test_registers.vim + +Patch 8.2.1040 +Problem: Not enough testing for movement commands. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6313) +Files: src/testdir/test_cursor_func.vim, src/testdir/test_functions.vim, + src/testdir/test_gf.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_quickfix.vim + +Patch 8.2.1041 +Problem: Test summary is missing executed count. +Solution: Adjust pattern used for counting. +Files: src/testdir/summarize.vim + +Patch 8.2.1042 +Problem: Vim9: cannot put an operator on the next line. +Solution: Require a colon before a range to see if that causes problems. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/ex_docmd.c, + src/globals.h, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1043 +Problem: %a item in 'statusline' not tested. +Solution: Add a test. (Dominique Pellé, closes #6318) +Files: src/testdir/test_statusline.vim + +Patch 8.2.1044 +Problem: Not all systemd file types are recognized. +Solution: Match several more files. (Guido Cella, closes #6319) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1045 +Problem: Vim9: line break before operator does not work. +Solution: Peek the next line for an operator. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1046 +Problem: Insufficient tests for src/buffer.c. +Solution: Add more tests. Move comments related tests to a separate file. + (Yegappan Lakshmanan, closes #6325) +Files: src/testdir/Make_all.mak, src/testdir/test_buffer.vim, + src/testdir/test_cmdline.vim, src/testdir/test_comments.vim, + src/testdir/test_normal.vim, src/testdir/test_textformat.vim + +Patch 8.2.1047 +Problem: Vim9: script cannot use line continuation like in a :def function. +Solution: Pass the getline function pointer to the eval() functions. Use it + for addition and multiplication operators. +Files: src/vim.h, src/structs.h, src/globals.h, src/ex_eval.c, + src/eval.c, src/proto/eval.pro, src/dict.c, src/evalfunc.c, + src/evalvars.c, src/list.c, src/userfunc.c, src/scriptfile.c, + src/proto/scriptfile.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.1048 (after 8.2.1047) +Problem: Build failure without the eval feature. +Solution: Add dummy typedef. +Files: src/structs.h + +Patch 8.2.1049 (after 8.2.1047) +Problem: Vim9: leaking memory when using continuation line. +Solution: Keep a pointer to the continuation line in evalarg_T. Centralize + checking for a next command. +Files: src/structs.h, src/eval.c, src/proto/eval.pro, src/beval.c, + src/buffer.c, src/clientserver.c, src/evalvars.c, src/ex_docmd.c, + src/ex_eval.c, src/filepath.c, src/findfile.c, src/fold.c, + src/globals.h, src/if_ole.cpp, src/if_perl.xs, src/if_tcl.c, + src/map.c, src/quickfix.c, src/regexp.c, src/register.c, + src/screen.c, src/userfunc.c + +Patch 8.2.1050 (after 8.2.1049) +Problem: Missing change in struct. +Solution: Add missing change. +Files: src/ex_cmds.h + +Patch 8.2.1051 +Problem: Crash when changing a list while using reduce() on it. +Solution: Lock the list. (closes #6330) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.1052 +Problem: Build failure with older compilers. +Solution: Move declaration to start of block. +Files: src/eval.c + +Patch 8.2.1053 +Problem: Insufficient testing for 'statusline' and 'tabline'. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6333) +Files: src/testdir/test_autocmd.vim, src/testdir/test_statusline.vim, + src/testdir/test_tabline.vim + +Patch 8.2.1054 +Problem: Not so easy to pass a lua function to Vim. +Solution: Convert a Lua function and closure to a Vim funcref. (Prabir + Shrestha, closes #6246) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/proto/userfunc.pro, + src/structs.h, src/testdir/test_lua.vim, src/userfunc.c + +Patch 8.2.1055 +Problem: No filetype set for pacman config files. +Solution: Recognize pacman.conf and *.hook. (Guido Cella, closes #6335) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1056 +Problem: Wrong display when mixing match conceal and syntax conceal. +Solution: Adjust how conceal flags are used. (closes #6327, closes #6303) +Files: src/drawline.c, src/highlight.c, + src/testdir/test_matchadd_conceal.vim + +Patch 8.2.1057 (after 8.2.1054) +Problem: Cannot build with dynamic Lua. +Solution: Add dll variables. +Files: src/if_lua.c + +Patch 8.2.1058 +Problem: Multiline conceal causes display errors. +Solution: Do not allow conceal cross over EOL. (closes #6326, closes #4854, + closes #6302) +Files: src/drawline.c, src/testdir/test_conceal.vim, + src/testdir/test_diffmode.vim + +Patch 8.2.1059 +Problem: Crash when using :tabonly in an autocommand. (Yegappan Lakshmanan) +Solution: Do not allow the autocommand window to be closed. +Files: src/ex_docmd.c, src/window.c, src/globals.h, + src/testdir/test_autocmd.vim + +Patch 8.2.1060 +Problem: Not all elinks files are recognized. +Solution: Just check for "elinks.conf". (Guido Cella, closes #6337) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1061 +Problem: Insufficient testing for src/window.c. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6345) +Files: src/testdir/test_excmd.vim, src/testdir/test_gf.vim, + src/testdir/test_options.vim, src/testdir/test_popupwin.vim, + src/testdir/test_quickfix.vim, src/testdir/test_tabpage.vim, + src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim, + src/window.c + +Patch 8.2.1062 +Problem: Vim9: no line break allowed inside "cond ? val1 : val2". +Solution: Check for operator after line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1063 +Problem: Vim9: no line break allowed before || or &&. +Solution: Check for operator after line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1064 +Problem: Vim9: no line break allowed before comparators. +Solution: Check for comparator after line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1065 +Problem: Vim9: no line break allowed inside a list. +Solution: Handle line break inside a list in Vim9 script. +Files: src/eval.c, src/proto/eval.pro, src/list.c, src/proto/list.pro, + src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_arglist.vim + +Patch 8.2.1066 +Problem: Lua arrays are zero based. +Solution: Make Lua arrays one based. (Prabir Shrestha, closes #6347) + Note: this is not backwards compatible. +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1067 +Problem: Expression "!expr->func()" does not work. +Solution: Apply plus and minus earlier. (closes #6348) +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, + src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.1068 +Problem: Vim9: no line break allowed inside a dict. +Solution: Handle line break inside a dict in Vim9 script. +Files: src/eval.c, src/dict.c, src/proto/dict.pro, + src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1069 +Problem: Vim9: fail to check for white space in list. +Solution: Add check for white space. +Files: src/list.c + +Patch 8.2.1070 +Problem: Vim9: leaking memory when lacking white space in dict. +Solution: Clear the typval. +Files: src/dict.c + +Patch 8.2.1071 +Problem: Vim9: no line break allowed inside a lambda. +Solution: Handle line break inside a lambda in Vim9 script. +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, + src/proto/userfunc.pro, src/popupwin.c, src/vim9compile.c, + src/ex_eval.c, src/globals.h, src/structs.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1072 +Problem: Missing libvterm test. +Solution: Sync with libvterm revision 768. +Files: src/libvterm/src/state.c, src/libvterm/t/63screen_resize.test + +Patch 8.2.1073 +Problem: Vim9: no line break allowed in () expression. +Solution: Skip a line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1074 +Problem: Vim9: no line break allowed after some operators. +Solution: Skip a line break after the operator. Add + eval_may_get_next_line() to simplify checking for a line break. +Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/list.c, + src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1075 +Problem: Vim9: no line break allowed in :echo expression. +Solution: Skip linebreak. +Files: src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1076 +Problem: Vim9: no line break allowed in :if expression. +Solution: Skip linebreak. +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1077 +Problem: No enough test coverage for highlighting. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6351) +Files: runtime/doc/syntax.txt, src/testdir/test_cmdline.vim, + src/testdir/test_highlight.vim, src/testdir/test_match.vim + +Patch 8.2.1078 +Problem: Highlight and match functionality together in one file. +Solution: Move match functionality to a separate file. (Yegappan Lakshmanan, + closes #6352) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/highlight.c, src/match.c, src/proto.h, + src/proto/highlight.pro, src/proto/match.pro + +Patch 8.2.1079 +Problem: Vim9: no line break allowed in a while loop. +Solution: Update stored loop lines when finding line breaks. +Files: src/structs.h, src/globals.h, src/eval.c, src/evalvars.c, + src/ex_docmd.c, src/proto/ex_docmd.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1080 +Problem: Vim9: no line break allowed in a for loop. +Solution: Skip line breaks in for command. +Files: src/eval.c, src/ex_eval.c, src/proto/eval.pro, src/userfunc.c, + src/structs.h, src/globals.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1081 +Problem: Lua: cannot use table.insert() and table.remove(). +Solution: Add the list functions. (Prabir Shrestha, closes #6353) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1082 +Problem: Coverity complains about ignoring dict_add() return value. +Solution: Add (void). +Files: src/evalfunc.c + +Patch 8.2.1083 +Problem: Crash when using reduce() on a NULL list. +Solution: Only access the list when not NULL. +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.1084 +Problem: Lua: registering function has useless code. +Solution: Remove clearing grow arrays. +Files: src/userfunc.c + +Patch 8.2.1085 +Problem: Coverity complains about ignoring dict_add() return value. +Solution: Add (void). +Files: src/register.c + +Patch 8.2.1086 +Problem: Possibly using freed memory when text properties used when + changing indent of a line. +Solution: Compute the offset before calling ml_replace(). +Files: src/indent.c + +Patch 8.2.1087 +Problem: Possible memory leak when file expansion fails. +Solution: Clear the grow array when returning FAIL. Use an error message + instead of an empty string. +Files: src/filepath.c + +Patch 8.2.1088 +Problem: A very long translation might cause a buffer overflow. +Solution: Truncate the message if needed. +Files: src/fileio.c + +Patch 8.2.1089 +Problem: Coverity warns for pointer computation. +Solution: Avoid computing a pointer to invalid memory. +Files: src/spellfile.c + +Patch 8.2.1090 +Problem: May use NULL pointer when skipping over name. +Solution: Always set ll_name_end. +Files: src/eval.c + +Patch 8.2.1091 +Problem: No check if opening a pty works. +Solution: Check for invalid file descriptor. +Files: src/os_unix.c + +Patch 8.2.1092 +Problem: Not checking if saving for undo succeeds. +Solution: Bail out if u_savesub() returns FAIL. +Files: src/textprop.c + +Patch 8.2.1093 +Problem: Python: double free when adding item to dict fails. +Solution: Remove vim_free() call. +Files: src/if_py_both.h + +Patch 8.2.1094 +Problem: Dead code in libvterm. +Solution: Remove condition that is always true. +Files: src/libvterm/src/pen.c + +Patch 8.2.1095 +Problem: May use pointer after freeing it when text properties are used. +Solution: Update redo buffer before calling ml_replace(). +Files: src/spellsuggest.c + +Patch 8.2.1096 +Problem: Vim9: return type of getqflist() is wrong. +Solution: Let the return type depend on the arguments. Also for + getloclist(). (closes #6357) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1097 +Problem: Highlight code not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6359) +Files: src/testdir/test_filter_cmd.vim, src/testdir/test_highlight.vim + +Patch 8.2.1098 +Problem: Vim9: cannot use line break in :throw argument. +Solution: Check for line break. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1099 +Problem: Vim9: cannot use line break in :cexpr argument. +Solution: Check for line break. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1100 +Problem: Vim9: cannot use line break in :execute, :echomsg and :echoerr + argument. +Solution: Check for line break. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1101 +Problem: No error when using wrong arguments for setqflist() or + setloclist(). +Solution: Check for the error. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1102 +Problem: Coverity gets confused by an unnecessary NULL check. +Solution: Remove the check for NULL. +Files: src/quickfix.c + +Patch 8.2.1103 +Problem: Coverity reports an unnecessary NULL check. +Solution: Remove the check for NULL. +Files: src/eval.c + +Patch 8.2.1104 +Problem: Coverity warns for possible NULL pointer use. +Solution: Check "pbyts" is not NULL. +Files: src/spellsuggest.c + +Patch 8.2.1105 +Problem: Insufficient test coverage for Lua. +Solution: Add tests. (Yegappan Lakshmanan, closes #6368) Fix uncovered + memory leak. Avoid unnecessary copy/free. +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1106 +Problem: Crash when trying to use s: variable in typed command. +Solution: Don't use the script index when not set. (Ken Takata, + closes #6366) +Files: src/vim9compile.c, src/testdir/test_vimscript.vim + +Patch 8.2.1107 +Problem: 'imactivatefunc' and 'imstatusfunc' are not used in the GUI. +Solution: Adjust the #ifdefs. (closes #6367) +Files: runtime/doc/options.txt, src/gui_xim.c, + src/testdir/test_iminsert.vim + +Patch 8.2.1108 +Problem: Mouse left-right scroll is not supported in terminal window. +Solution: Implement mouse codes 6 and 7. (Trygve Aaberge, closes #6363) +Files: src/libvterm/src/mouse.c, src/mouse.c, src/terminal.c, + src/testdir/mouse.vim, src/testdir/test_termcodes.vim + +Patch 8.2.1109 (after 8.2.1106) +Problem: Still crashing when using s:variable. +Solution: Remove assignment. (Ken Takata) +Files: src/vim9compile.c + +Patch 8.2.1110 +Problem: Vim9: line continuation does not work in function arguments. +Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string + as comment. +Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c, src/ex_eval.c, + src/list.c, src/dict.c, src/proto/eval.pro, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.1111 +Problem: Inconsistent naming of get_list_tv() and eval_dict(). +Solution: Rename get_list_tv() to eval_list(). Similarly for eval_number(), + eval_string(), eval_lit_string() and a few others. +Files: src/eval.c, src/list.c, src/proto/list.pro, src/vim9compile.c, + src/typval.c, src/proto/typval.pro, src/vim9script.c, + src/evalfunc.c, src/evalvars.c, src/proto/evalvars.pro, + src/vim9execute.c + +Patch 8.2.1112 +Problem: Vim9: no line continuation allowed in method call. +Solution: Handle line continuation in expression before method call. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1113 +Problem: No test for verbose output of :call. +Solution: Add a test. +Files: src/testdir/test_user_func.vim + +Patch 8.2.1114 +Problem: Terminal test sometimes times out. +Solution: Split the test in two parts. +Files: src/testdir/Makefile, src/testdir/Make_all.mak, + src/testdir/term_util.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal2.vim + +Patch 8.2.1115 +Problem: Iminsert test fails when compiled with VIMDLL. +Solution: Change condition. (Ken Takata, closes #6376) +Files: src/testdir/test_iminsert.vim + +Patch 8.2.1116 +Problem: Vim9: parsing command checks for list twice. +Solution: Adjust how a command is parsed. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1117 +Problem: Coverity warns for using uninitialized field. +Solution: Initialize v_lock. +Files: src/if_lua.c + +Patch 8.2.1118 +Problem: Condition can never be true, dead code. +Solution: Remove the dead code. +Files: src/move.c + +Patch 8.2.1119 +Problem: Configure fails with Xcode 12 beta. +Solution: use "return" instead of "exit()". (Nico Weber, closes #6381) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1120 +Problem: Python code not tested properly. +Solution: Add more tests and convert old-style test into new-style test. + (Yegappan Lakshmanan, closes #6370) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test_python2.vim + +Patch 8.2.1121 +Problem: Command completion not working after ++arg. +Solution: Move skipping up. (Christian Brabandt, closes #6382) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.1122 +Problem: Vim9: line continuation in dict member not recognized. +Solution: Check for line continuation. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1123 +Problem: Python 3 test is old style. +Solution: Turn into new style test. (Yegappan Lakshmanan, closes #6385) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test87.in, src/testdir/test87.ok, + src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1124 +Problem: Vim9: no line break allowed in :import command. +Solution: Skip over line breaks. +Files: src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1125 +Problem: Vim9: double quote can be a string or a comment. +Solution: Only support comments starting with # to avoid confusion. +Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/list.c, + src/vim9script.c + +Patch 8.2.1126 +Problem: Vim9: using :copen causes an error. +Solution: Add flag LET_NO_COMMAND in set_var(). +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1127 +Problem: Vim9: getting a dict member may not work. +Solution: Clear the dict only after copying the item. (closes #6390) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1128 +Problem: The write message mentions characters, but it's actually bytes. +Solution: Change "C" to "B" and "characters" to "bytes". +Files: runtime/doc/options.txt, src/fileio.c, + src/testdir/test_cscope.vim, src/testdir/test_netbeans.vim, + src/testdir/dumps/Test_diff_syntax_1.dump, + src/testdir/dumps/Test_long_file_name_1.dump, + src/testdir/dumps/Test_display_unprintable_01.dump, + src/testdir/dumps/Test_tselect_1.dump + +Patch 8.2.1129 +Problem: Vim9: bar not recognized after not compiled command. +Solution: Check for bar for commands where this is possible. (closes #6391) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1130 +Problem: Vim9: bar not recognized after function call +Solution: Skip whitespace. (closes #6391) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1131 +Problem: Vim9: error message for returning a value in a function that does + not return anything is not clear. +Solution: Add a specific message. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1132 +Problem: Vim9: return type of repeat() is not specific enough. +Solution: Return the type of the first argument. (closes #6395) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1133 +Problem: Vim9: return type of add() is not specific enough. +Solution: Return the type of the first argument. (closes #6395) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1134 +Problem: Vim9: getting a list member may not work. +Solution: Clear the list only after copying the item. (closes #6393) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1135 +Problem: Vim9: getting a dict member may not work. +Solution: Clear the dict only after copying the item. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1136 +Problem: Vim9: return type of argv() is always any. +Solution: Use list<string> if there is no argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1137 +Problem: Vim9: modifiers not cleared after compiling function. +Solution: Clear command modifiers. (closes #6396) +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/testdir/test_vim9_func.vim, + src/testdir/dumps/Test_vim9_silent_echo.dump + +Patch 8.2.1138 +Problem: Vim9: return type of copy() and deepcopy() is any. +Solution: Use type of the argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1139 (after 8.2.1137) +Problem: Vim9: test for silent echo fails in some environments. +Solution: Use :function instead of :def. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1140 +Problem: Vim9: return type of extend() is any. +Solution: Use type of the argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1141 +Problem: Vim9: return type of filter() is any. +Solution: Use type of the argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1142 +Problem: Vim9: return type of insert() is any. +Solution: Use type of the first argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1143 +Problem: Vim9: return type of remove() is any. +Solution: Use the member type of the first argument, if known. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1144 +Problem: Vim9: return type of reverse() is any. +Solution: Use the type of the first argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1145 +Problem: Vim9: "for" only accepts a list at compile time. +Solution: Also accept a list at runtime. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1146 +Problem: Not enough testing for Python. +Solution: Add more tests. Fix uncovered problems. (Yegappan Lakshmanan, + closes #6392) +Files: src/if_py_both.h, src/if_python3.c, src/testdir/shared.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1147 +Problem: :confirm may happen in cooked mode. (Jason Franklin) +Solution: Switch to raw mode before prompting. (Brandon Pfeifer) +Files: src/message.c, src/testdir/test_excmd.vim + +Patch 8.2.1148 +Problem: Warning for using int instead of size_t. +Solution: Change "len" argument to size_t. (Mike Williams) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9script.c + +Patch 8.2.1149 +Problem: Vim9: :eval command not handled properly. +Solution: Compile the :eval command. (closes #6408) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1150 +Problem: ml_get error when using Python. (Yegappan Lakshmanan) +Solution: Check the line number is not out of range. Call "Check" with + "fromObj" instead of "from". +Files: src/if_py_both.h, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.2.1151 +Problem: Insufficient test coverage for Python. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #6415) +Files: src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1152 +Problem: Vim9: function reference is missing script prefix. +Solution: Use the actual function name instead of the name searched for in + the script context. (closes #6412) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1153 +Problem: Vim9: script test fails on some systems. +Solution: Return proper value from Compare(). +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1154 +Problem: Vim9: crash when using imported function. +Solution: Check for a function type. Set the script context when calling a + function. (closes #6412) +Files: src/evalvars.c, src/scriptfile.c, src/proto/scriptfile.pro, + src/vim9execute.c, src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1155 +Problem: Vim9: cannot handle line break inside lambda. +Solution: Pass the compilation context through. (closes #6407, closes #6409) +Files: src/structs.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1156 +Problem: Vim9: No error for invalid command in compiled function. +Solution: Handle CMD_SIZE. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1157 +Problem: Vim9: dict.name is not recognized as an expression. +Solution: Recognize ".name". (closes #6418) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1158 (after 8.2.1155) +Problem: Build error. +Solution: Add missing change to globals. +Files: src/globals.h + +Patch 8.2.1159 +Problem: Vim9: no error for missing space after a comma. +Solution: Check for white space. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1160 +Problem: Vim9: memory leak in allocated types. +Solution: Free the type pointers. +Files: src/vim9script.c, src/userfunc.c, src/vim9compile.c, + src/proto/vim9compile.pro + +Patch 8.2.1161 +Problem: Vim9: using freed memory. +Solution: Put pointer back in evalarg instead of freeing it. +Files: src/userfunc.c, src/vim9compile.c, src/eval.c, src/proto/eval.pro, + src/structs.h + +Patch 8.2.1162 +Problem: Crash when using a lambda. +Solution: Check for evalarg to be NULL. +Files: src/userfunc.c + +Patch 8.2.1163 (after 8.2.1161) +Problem: Build error. +Solution: Add missing change to globals. +Files: src/globals.h + +Patch 8.2.1164 +Problem: Text cleared by checking terminal properties not redrawn. (Alexey + Radkov) +Solution: Mark the screen characters as invalid. (closes #6422) +Files: src/screen.c, src/proto/screen.pro, src/term.c + +Patch 8.2.1165 +Problem: Insufficient testing for the Tcl interface. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6423) +Files: src/testdir/test_tcl.vim + +Patch 8.2.1166 +Problem: Once mouse move events are enabled getchar() returns them. +Solution: Ignore K_MOUSEMOVE in getchar(). (closes #6424) +Files: runtime/doc/eval.txt, src/getchar.c + +Patch 8.2.1167 +Problem: Vim9: builtin function method call only supports first argument. +Solution: Shift arguments when needed. (closes #6305, closes #6419) +Files: src/evalfunc.c, src/vim9compile.c, src/vim9execute.c, + src/vim9.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1168 +Problem: Wrong method argument for appendbufline(). +Solution: Use FEARG_3. +Files: src/evalfunc.c + +Patch 8.2.1169 +Problem: Write NUL past allocated space using corrupted spell file. + (Markus Vervier) +Solution: Init "c" every time. +Files: src/spellfile.c + +Patch 8.2.1170 +Problem: Cursor off by one with block paste while 'virtualedit' is "all". +Solution: Adjust condition. (Hugo Gualandi, closes #6430) +Files: src/register.c, src/testdir/test_registers.vim + +Patch 8.2.1171 +Problem: Possible crash when out of memory. +Solution: Check for NULL pointer. (Dominique Pellé, closes #6432) +Files: src/syntax.c + +Patch 8.2.1172 +Problem: Error messages when doing "make clean" in the runtime/doc or + src/tee directories. +Solution: Use "rm -f". +Files: runtime/doc/Makefile, src/tee/Makefile + +Patch 8.2.1173 +Problem: Tee doesn't build on some systems. +Solution: Include header files. (Dominique Pelle, closes #6431) +Files: src/tee/tee.c + +Patch 8.2.1174 +Problem: No test for the "recording @x" message. +Solution: Add a test. (Dominique Pellé, closes #6427) +Files: src/testdir/test_registers.vim + +Patch 8.2.1175 +Problem: Vim9: Cannot split a line before ".member". +Solution: Check for ".member" after line break. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1176 +Problem: Vim9: not enough type checking in Vim9 script. +Solution: Use same type checking as in a :def function. +Files: src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1177 +Problem: Terminal2 test sometimes hangs in the GUI. +Solution: Move some tests to other files to further locate the problem. + Set the GUI to a fixed screen size. +Files: src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, + src/testdir/test_terminal3.vim, src/testdir/Make_all.mak, + src/testdir/runtest.vim + +Patch 8.2.1178 +Problem: Vim9: filter function recognized as command modifier, leading to a + crash. +Solution: Clear cmdmod after freeing items. Do not recognize a command + modifier followed by non-white space. (closes #6434) +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1179 +Problem: Test_termwinscroll() sometimes hangs in the GUI. +Solution: Skip the test in the GUI. +Files: src/testdir/test_terminal2.vim + +Patch 8.2.1180 +Problem: Build failure in small version. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.1181 +Problem: Json code not fully tested. +Solution: Add more test coverage. (Dominique Pellé, closes #6433) +Files: src/testdir/test_json.vim + +Patch 8.2.1182 +Problem: Vim9: no check for whitespace after comma in lambda. +Solution: Give error if white space is missing. +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1183 +Problem: assert_fails() checks the last error message. +Solution: Check the first error, it is more relevant. Fix all the tests + that rely on the old behavior. +Files: runtime/doc/testing.txt, src/message.c, src/globals.h, + src/testing.c, src/testdir/test_autocmd.vim, + src/testdir/test_buffer.vim, src/testdir/test_cd.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_cmdline.vim, src/testdir/test_cpoptions.vim, + src/testdir/test_cscope.vim, src/if_cscope.c, + src/testdir/test_excmd.vim, src/evalvars.c, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_json.vim, src/testdir/test_let.vim, + src/testdir/test_listdict.vim, src/testdir/test_listener.vim, + src/testdir/test_match.vim, src/testdir/test_menu.vim, + src/testdir/test_method.vim, src/testdir/test_normal.vim, + src/testdir/test_popup.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_quickfix.vim, + src/testdir/test_random.vim, src/testdir/test_search.vim, + src/testdir/test_signs.vim, src/testdir/test_spell.vim, + src/testdir/test_substitute.vim, src/testdir/test_syntax.vim, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim, + src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, + src/testdir/test_trycatch.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, + src/testdir/test_winbuf_close.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_utf8.vim, + src/testdir/test_global.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.1184 (after 8.2.1183) +Problem: Some tests fail. +Solution: Adjust tests for different assert_fails() behavior. Remove unused + variable. +Files: src/testdir/test_assert.vim, src/testdir/test_eval_stuff.vim, + src/evalvars.c + +Patch 8.2.1185 (after 8.2.1183) +Problem: Some other tests fail. +Solution: Adjust tests for different assert_fails() behavior. +Files: src/testdir/test_lua.vim, src/testdir/test_tcl.vim + +Patch 8.2.1186 +Problem: With SGR mouse codes balloon doesn't show up after click. +Solution: Add the MOUSE_RELEASE bits to mouse_code. +Files: src/mouse.c + +Patch 8.2.1187 +Problem: Terminal2 test sometimes hangs in the GUI on Travis. +Solution: Disable Test_zz2_terminal_guioptions_bang() for now. +Files: src/testdir/test_terminal2.vim + +Patch 8.2.1188 +Problem: Memory leak with invalid json input. +Solution: Free all keys at the end. (Dominique Pellé, closes #6443, + closes #6442) +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.2.1189 +Problem: Vim9: line continuation in lambda doesn't always work. +Solution: Do not use a local evalarg unless there isn't one. (closes #6439) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1190 +Problem: Vim9: checking for Vim9 syntax is spread out. +Solution: Use in_vim9script(). +Files: src/vim9script.c, src/dict.c, src/eval.c, src/evalvars.c, + src/ex_docmd.c, src/list.c, src/scriptfile.c, src/userfunc.c + +Patch 8.2.1191 +Problem: Vim9: crash when function calls itself. +Solution: Add status UF_COMPILING. (closes #6441) +Files: src/structs.h, src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1192 +Problem: Lua test fails with older Lua version. +Solution: Adjust expected error messages. (closes #6444) +Files: src/testdir/test_lua.vim + +Patch 8.2.1193 +Problem: Terminal window not redrawn when dragging a popup window over it. +Solution: Redraw terminal window. (fixes #6438) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_term_01.dump, + src/testdir/dumps/Test_popupwin_term_02.dump + +Patch 8.2.1194 +Problem: Test failure because shell prompt differs. +Solution: Set the shell prompt. +Files: src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_term_01.dump, + src/testdir/dumps/Test_popupwin_term_02.dump + +Patch 8.2.1195 +Problem: Clientserver test fails on MS-Windows. +Solution: Expect a different error message. +Files: src/testdir/test_clientserver.vim + +Patch 8.2.1196 +Problem: Build failure with normal features. +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.2.1197 +Problem: Clientserver test still fails on MS-Windows. +Solution: Expect a different error message. +Files: src/testdir/test_clientserver.vim + +Patch 8.2.1198 +Problem: Terminal2 test sometimes hangs in the GUI on Travis. +Solution: Move test function to terminal3 to see if the problem moves too. +Files: src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim + +Patch 8.2.1199 +Problem: Not all assert functions are fully tested. +Solution: Test more assert functions. +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.1200 +Problem: Vim9: cannot disassemble a lambda function. +Solution: Recognize "<lambda>123" as a function name. +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1201 +Problem: Vim9: crash when passing number as dict key. +Solution: Check key type to be string. (closes #6449) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1202 +Problem: Vim9: crash when calling a closure from a builtin function. +Solution: Use the current execution context. (closes #6441) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1203 +Problem: Unused assignments in expression evaluation. +Solution: Move declarations and assignments to inner blocks where possible. +Files: src/eval.c + +Patch 8.2.1204 +Problem: Vim9: true and false not recognized in Vim9 script. +Solution: Recognize true and false. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1205 +Problem: Vim9: && and || work differently when not compiled. +Solution: Keep the value. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1206 +Problem: Vim9: crash in expr test when run in the GUI. +Solution: Temporarily comment out two test lines. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1207 +Problem: Vim9: crash in expr test when run in the GUI. +Solution: Break out of loop over hashtab also when function got removed and + added. +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1208 +Problem: Build failure. +Solution: Add missing change. +Files: src/structs.h + +Patch 8.2.1209 +Problem: Vim9: test failure. +Solution: Add missing changes to hashtab. +Files: src/hashtab.c + +Patch 8.2.1210 +Problem: Using ht_used when looping through a hashtab is less reliable. +Solution: Use ht_changed in a few more places. +Files: src/userfunc.c, src/if_py_both.h + +Patch 8.2.1211 (after 8.2.1118) +Problem: Removed more than dead code. +Solution: Put back the decrement. +Files: src/move.c, src/testdir/test_diffmode.vim + +Patch 8.2.1212 +Problem: Cannot build with Lua 5.4. +Solution: Use luaL_typeerror instead defining it. (closes #6454) +Files: src/if_lua.c + +Patch 8.2.1213 +Problem: Mouse codes not tested sufficiently. +Solution: Add more tests for mouse codes. (closes #6436) +Files: src/testdir/test_termcodes.vim + +Patch 8.2.1214 +Problem: MS-Windows: default _vimrc not correct in silent install mode. +Solution: Add the LoadDefaultVimrc macro. (Ken Takata, closes #6451) +Files: nsis/gvim.nsi + +Patch 8.2.1215 +Problem: Atari MiNT support is outdated. +Solution: Nobody responded this code is still useful, so let's delete it. +Files: Filelist, src/os_mint.h, src/vim.h, src/Make_mint.mak, + src/digraph.c, src/fileio.c, src/memfile.c, src/os_unix.c, + src/term.c, READMEdir/README_extra.txt, runtime/doc/os_mint.txt, + src/INSTALL + +Patch 8.2.1216 +Problem: Startup test fails. +Solution: Adjust expected values for deleted lines. +Files: src/testdir/test_startup.vim + +Patch 8.2.1217 +Problem: Startup test depends on random source file. +Solution: Write a test file to find quickfix errors in. +Files: src/testdir/test_startup.vim + +Patch 8.2.1218 +Problem: Vim9: cannot use 'text'->func(). +Solution: Recognize string at start of command. +Files: src/vim9compile.c, src/ex_docmd.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1219 +Problem: Symlink not followed if dirname ends in //. +Solution: Resolve symlink earlier. (Tomáš Janoušek, closes #6454) +Files: src/memline.c, src/testdir/test_swap.vim + +Patch 8.2.1220 +Problem: memory access error when dragging a popup window over a buffer + with folding. +Solution: Avoid going over the end of the cache. (closes #6438) +Files: src/mouse.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_term_01.dump, + src/testdir/dumps/Test_popupwin_term_02.dump, + src/testdir/dumps/Test_popupwin_term_03.dump, + src/testdir/dumps/Test_popupwin_term_04.dump + +Patch 8.2.1221 +Problem: Memory leak when updating popup window. +Solution: Clear search highlighting. +Files: src/popupwin.c + +Patch 8.2.1222 +Problem: When using valgrind a Vim command started by a test uses the same + log file name which gets overwritten. +Solution: Fix regexp to rename the log file. +Files: src/testdir/shared.vim + +Patch 8.2.1223 +Problem: Vim9: invalid type error for function default value. +Solution: Use right argument index. (closes #6458) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1224 +Problem: Vim9: arguments from partial are not used. +Solution: Put the partial arguments on the stack. (closes #6460) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1225 +Problem: Linker errors when building with dynamic Python 3.9. +Solution: Add #defined items. (closes #6461) +Files: src/if_python3.c + +Patch 8.2.1226 +Problem: MS-Windows: windows positioning wrong when the taskbar is placed + at the top or left of the screen. +Solution: Use GetWindowRect and MoveWindow APIs. (Yukihiro Nakadaira, + Ken Takata, closes #6455) +Files: src/gui_w32.c + +Patch 8.2.1227 +Problem: Vim9: allowing both quoted and # comments is confusing. +Solution: Only support # comments in Vim9 script. +Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1228 +Problem: Scrollbars not flush against the window edges when maximised. +Solution: Add padding. (Ken Takata, closes #5602, closes #6466) +Files: src/gui.c, src/gui_athena.c, src/gui_gtk.c, src/gui_haiku.cc, + src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, + src/proto/gui_athena.pro, src/proto/gui_gtk.pro, + src/proto/gui_haiku.pro, src/proto/gui_mac.pro, + src/proto/gui_motif.pro, src/proto/gui_photon.pro, + src/proto/gui_w32.pro + +Patch 8.2.1229 +Problem: Build error without the eval feature. +Solution: Declare starts_with_colon. Make function local. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.2.1230 +Problem: Vim9: list index error not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. (closes #6462) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1231 +Problem: MS-Windows: GUI code can be cleaned up. +Solution: Do a bit of cleaning up. (Ken Takata, closes #6465) +Files: src/gui_w32.c, src/proto/gui_w32.pro + +Patch 8.2.1232 +Problem: MS-Windows GUI: Snap cancelled by split command. +Solution: Do not cancel Snap when splitting a window. (Ken Takata, + closes #6467) +Files: src/gui_w32.c + +Patch 8.2.1233 +Problem: Vim9: various errors not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1234 +Problem: Lua build problem with old compiler. +Solution: Move declarations to start of the block. (Taro Muraoka, + closes #6477) +Files: src/if_lua.c + +Patch 8.2.1235 +Problem: Not all mouse codes covered by tests. +Solution: Add more tests for the mouse. (Yegappan Lakshmanan, closes #6472) +Files: src/testdir/mouse.vim, src/testdir/test_termcodes.vim + +Patch 8.2.1236 +Problem: Vim9: a few errors not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. Fix that a not + matching catch doesn't jump to :endtry. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1237 +Problem: Changing 'completepopup' after opening a popup has no effect. (Jay + Sitter) +Solution: Close the popup when the options are changed. (closes #6471) +Files: runtime/doc/options.txt, src/popupwin.c, src/proto/popupwin.pro, + src/optionstr.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_8.dump + +Patch 8.2.1238 +Problem: Vim9: a few remaining errors not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1239 +Problem: "maxwidth" in 'completepopup' not obeyed. (Jay Sitter) +Solution: Add separate field for value from option. (closes #6470) +Files: src/structs.h, src/popupwin.c, src/popupmenu.c, + src/testdir/dumps/Test_popupwin_infopopup_9.dump + +Patch 8.2.1240 +Problem: GUI tests sometimes fail because of translations. +Solution: Reload the menus without translation. (Taro Muraoka, closes #6486) +Files: src/testdir/runtest.vim + +Patch 8.2.1241 +Problem: Cannot use getbufinfo() as a method. +Solution: Support using getbufinfo() as a method. (closes #6458) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim + +Patch 8.2.1242 +Problem: Vim9: no error if calling a function with wrong argument type. +Solution: Check types of arguments. (closes #6469) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1243 +Problem: Vim9: cannot have a comment or empty line halfway a list at script + level. +Solution: Skip more than one line if needed. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/eval.c, + src/scriptfile.c + +Patch 8.2.1244 +Problem: Vim9: in lambda index assumes a list. +Solution: Use the value type to decide about list or dict. (closes #6479) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1245 +Problem: Build failure in tiny version. +Solution: Add #ifdef. +Files: src/scriptfile.c + +Patch 8.2.1246 +Problem: Vim9: comment after assignment doesn't work. +Solution: Skip over white space. (closes #6481) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1247 +Problem: Vim9: cannot index a character in a string. +Solution: Add ISN_STRINDEX instruction. (closes #6478) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1248 +Problem: Netbeans test is flaky in the GUI. +Solution: Filter out geometry messages. (Taro Muraoka, closes #6487) +Files: src/testdir/test_netbeans.vim + +Patch 8.2.1249 +Problem: Vim9: disassemble test fails. +Solution: Change INDEX to LISTINDEX. Add test for STRINDEX. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1250 +Problem: Vim9: cannot use the g:, b:, t: and w: namespaces. +Solution: Add instructions to push a dict for the namespaces. (closes #6480) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1251 +Problem: Vim9: warning for pointer usage, test failure undetected. +Solution: Fix pointer indirection. Give error when executing function + failed for any reason. Fix instruction names. +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro + +Patch 8.2.1252 +Problem: ":marks" may show '< and '> mixed up. +Solution: Show the mark position as where '< and '> would jump. +Files: src/mark.c, src/testdir/test_marks.vim + +Patch 8.2.1253 +Problem: CTRL-K in Insert mode gets <CursorHold> inserted. (Roland + Puntaier) +Solution: Do not reset did_cursorhold, restore it. (closes #6447) +Files: src/normal.c + +Patch 8.2.1254 +Problem: MS-Windows: regexp test may fail if 'iskeyword' set wrongly. +Solution: Override the 'iskeyword' value. (Taro Muraoka, closes #6502) +Files: src/testdir/test_regexp_utf8.vim + +Patch 8.2.1255 +Problem: Cannot use a lambda with quickfix functions. +Solution: Add support for lambda. (Yegappan Lakshmanan, closes #6499) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/quickfix.txt, src/channel.c, src/evalvars.c, + src/optionstr.c, src/proto/evalvars.pro, src/proto/quickfix.pro, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1256 +Problem: Vim9: type wrong after getting dict item in lambda. +Solution: Set the type to "any" after enforcing dict type. (closes #6491) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1257 +Problem: Vim9: list unpack doesn't work at the script level. +Solution: Detect unpack assignment better. (closes #6494) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1258 (after 8.2.1253) +Problem: CursorHold does not work well.a (Shane-XB-Qian) +Solution: Only restore did_cursorhold when using :normal. +Files: src/normal.c + +Patch 8.2.1259 +Problem: Empty group in 'tabline' may cause using an invalid pointer. +Solution: Set the group start position. (closes #6505) +Files: src/buffer.c, src/testdir/test_tabline.vim + +Patch 8.2.1260 +Problem: There is no good test for CursorHold. +Solution: Add a test. Remove duplicated test. (Yegappan Lakshmanan, + closes #6503) +Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, + src/testdir/test_normal.vim + +Patch 8.2.1261 +Problem: Vim9: common type of function not tested. +Solution: Add a test. Fix uncovered problems. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1262 +Problem: src/ex_cmds.c file is too big. +Solution: Move help related code to src/help.c. (Yegappan Lakshmanan, + closes #6506) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/cmdexpand.c, src/ex_cmds.c, src/help.c, src/proto.h, + src/proto/ex_cmds.pro, src/proto/help.pro + +Patch 8.2.1263 +Problem: Vim9: comparators use 'ignorecase' in Vim9 script. +Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0. + (closes #6497) +Files: src/eval.c, src/typval.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1264 +Problem: Terminal getwinpos() test is a bit flaky. +Solution: Call getwinpos() a bit later. +Files: src/testdir/test_terminal3.vim + +Patch 8.2.1265 +Problem: Crash with EXITFREE when split() fails. +Solution: Restore 'cpoptions'. +Files: src/evalfunc.c + +Patch 8.2.1266 (after 8.2.1262) +Problem: Makefile preference were accidentally included. +Solution: Revert the Makefile changes. +Files: src/Makefile + +Patch 8.2.1267 +Problem: MS-Windows: tests may fail due to $PROMPT value. +Solution: Set $PROMPT for testing. (Taro Muraoka, closes #6510) +Files: src/testdir/runtest/vim + +Patch 8.2.1268 +Problem: Vim9: no error for using double quote comment after :func or :def. +Solution: Only accept double quote when not in Vim9 script and not after + :def. (closes #6483) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1269 +Problem: Language and locale code spread out. +Solution: Move relevant code to src/locale.c. (Yegappan Lakshmanan, + closes #6509) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/ex_cmds2.c, src/locale.c, src/main.c, src/proto.h, + src/proto/ex_cmds2.pro, src/proto/locale.pro + +Patch 8.2.1270 +Problem: Vim9: not skipping over function type declaration with only a + return type. +Solution: Skip over the return type. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1271 +Problem: Vim9: Error for Funcref function argument type. +Solution: Find the actual function type if possible. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1272 +Problem: Vim9: type not checked if declaration also assigns value. +Solution: Check the type. (issue #6507) +Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9script.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1273 +Problem: MS-Windows: terminal test may leave file behind. +Solution: Wait a moment for process to end before deleting the file. + (Taro Muraoka, closes #6513) +Files: src/testdir/test_terminal.vim + +Patch 8.2.1274 +Problem: Vim9: no error for missing white space in assignment at script + level. +Solution: Check for white space. (closes #6495) +Files: src/eval.c, src/evalvars.c, src/testdir/test_vim9_script.vim, + src/testdir/test_let.vim + +Patch 8.2.1275 +Problem: Vim9: compiler warning for buffer size. +Solution: Change the offset from 10 to 15. (Dominique Pellé, closes #6518) +Files: src/vim9script.c + +Patch 8.2.1276 +Problem: MS-Windows: system test may fail if more.exe is installed. +Solution: Explicitly use more.com. (Taro Muraoka, Ken Takata, closes #6517) +Files: src/testdir/test_system.vim + +Patch 8.2.1277 +Problem: Tests on Travis do not run with EXITFREE. +Solution: Add EXITFREE to all builds to uncover any mistakes. +Files: .travis.yml + +Patch 8.2.1278 +Problem: Vim9: line break after "->" only allowed in :def function. +Solution: Only allow line break after "->". (closes #6492) +Files: src/vim9compile.c, src/globals.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.1279 +Problem: Some tests on Travis have EXITFREE duplicated. +Solution: Remove EXITFREE from shadowopt. Add "shadow" to job name. +Files: .travis.yml + +Patch 8.2.1280 +Problem: Ex command error cannot contain an argument. +Solution: Add ex_errmsg() and translate earlier. Use e_trailing_arg where + possible. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/buffer.c, + src/ex_eval.c, src/match.c, src/testdir/test_tabpage.vim + +Patch 8.2.1281 +Problem: The "trailing characters" error can be hard to understand. +Solution: Add the trailing characters to the message. +Files: src/cmdhist.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, src/json.c, + src/menu.c, src/quickfix.c, src/sign.c, src/userfunc.c + +Patch 8.2.1282 +Problem: Vim9: crash when using CheckScriptFailure() in + Test_vim9script_call_fail_decl(). +Solution: Do not decrement the def_functions len unless the function was + newly added. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1283 +Problem: Vim9: error for misplaced -> lacks argument. +Solution: Use the pointer before it was advanced. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1284 +Problem: Vim9: skipping over type includes following white space, leading + to an error for missing white space. +Solution: Do not skip over white space after the type. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1285 +Problem: Vim9: argument types are not checked on assignment. +Solution: Check function argument types. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1286 +Problem: Vim9: No error when using a type on a window variable +Solution: Recognize the syntax and give an error. (closes #6521) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1287 +Problem: Vim9: crash when using an imported function. +Solution: Add the function type to the imported entry. (closes #6522) +Files: src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1288 +Problem: Vim9: cannot use mark in range. +Solution: Use the flag that a colon was seen. (closes #6528) +Files: src/ex_docmd.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1289 +Problem: Crash when using a custom completion function. +Solution: Initialize all of the expand_T. (closes #6532) +Files: src/cmdexpand.c + +Patch 8.2.1290 +Problem: Vim9: cannot replace a global function. +Solution: Allow for "!" on a global function. (closes #6524) Also fix that + :delfunc on a :def function only made it empty. +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1291 +Problem: Vim9: type of varargs items is not checked. +Solution: Check the list item types. (closes #6523) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1292 +Problem: AIDL filetype not recognized. +Solution: Add filetype detection. (Dominique Pellé, closes #6533) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1293 +Problem: Vim9: :execute mixes up () expression and function call. +Solution: Do not skip white space when looking for the "(". (closes #6531) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1294 +Problem: Vim9: error when using vim9script in TextYankPost. +Solution: Use EX_LOCKOK instead of the EX_CMDWIN flag for command that can + be used when text is locked. (closes #6529) +Files: src/ex_cmds.h, src/ex_docmd.c + +Patch 8.2.1295 +Problem: Tests 44 and 99 are old style. +Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #6536) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test44.in, src/testdir/test44.ok, + src/testdir/test99.in, src/testdir/test99.ok, + src/testdir/test_regexp_utf8.vim + +Patch 8.2.1296 +Problem: Some part of using 'smartcase' was not tested. +Solution: Add more tests. (Dominique Pellé, closes #6538) +Files: src/testdir/test_search.vim + +Patch 8.2.1297 +Problem: When a test fails it's often not easy to see what the call stack + is. +Solution: Add more entries from the call stack in the exception message. +Files: runtime/doc/cmdline.txt, src/scriptfile.c, + src/proto/scriptfile.pro, src/debugger.c, src/ex_docmd.c, + src/ex_eval.c, src/message.c, src/testing.c, + src/testdir/test_expand_func.vim + +Patch 8.2.1298 +Problem: Compiler warning for unused argument in small version. +Solution: Add UNUSED. +Files: src/scriptfile.c + +Patch 8.2.1299 +Problem: Compiler warning for using size_t for int and void pointer. +Solution: Add type casts. +Files: src/scriptfile.c + +Patch 8.2.1300 +Problem: Vim9: optional argument type not parsed properly. +Solution: Skip over the "?". (issue #6507) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/evalvars.c, + src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1301 +Problem: Vim9: varargs argument type not parsed properly. +Solution: Skip over the "...". (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1302 +Problem: Vim9: varargs arg after optional arg does not work +Solution: Check for the "..." first. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1303 +Problem: Calling popup_setoptions() resets 'signcolumn'. +Solution: Only set 'signcolumn' when creating the popup. (closes #6542) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1304 +Problem: Debug backtrace isn't tested much. +Solution: Add more specific tests. (Ben Jackson, closes #6540) +Files: src/testdir/runtest.vim, src/testdir/test_debugger.vim + +Patch 8.2.1305 +Problem: Some tests are still old style. +Solution: Convert tests 52 and 70 to new style. (Yegappan Lakshmanan, + closes #6544) Fix error in FinishTesting(). +Files: src/testdir/runtest.vim, src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms, + src/testdir/test52.in, src/testdir/test52.ok, + src/testdir/test70.in, src/testdir/test70.ok, + src/testdir/test_mzscheme.vim, src/testdir/test_writefile.vim + +Patch 8.2.1306 +Problem: Checking for first character of dict key is inconsistent. +Solution: Add eval_isdictc(). (closes #6546) +Files: src/eval.c, src/proto/eval.pro, src/vim9compile.c, + src/testdir/test_listdict.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_let.vim + +Patch 8.2.1307 +Problem: popup window width does not include number, fold of sign column + width. +Solution: Take number, fold and sign column with into account. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_sign_2.dump + +Patch 8.2.1308 +Problem: Vim9: accidentally using "x" causes Vim to exit. +Solution: Disallow using ":x" or "xit" in Vim9 script. (closes #6399) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9script.c, + src/proto/vim9script.pro, src/ex_docmd.c, src/ex_cmds.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1309 +Problem: Build failure with tiny version. +Solution: Add #ifdef. +Files: src/ex_cmds.c, src/ex_docmd.c + +Patch 8.2.1310 +Problem: Configure with Xcode 12 fails to check for tgetent. +Solution: Declare tgetent(). (Ozaki Kiichi, closes #6558) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1311 +Problem: Test failures with legacy Vim script. +Solution: Actually check for Vim9 script. +Files: src/vim9script.c + +Patch 8.2.1312 +Problem: MS-Windows: terminal test may fail if dir.exe exists. +Solution: Use dir.com. (Ken Takata, closes #6557) +Files: src/testdir/test_terminal3.vim + +Patch 8.2.1313 +Problem: Vim9 script: cannot assign to environment variable. +Solution: Recognize environment variable assignment. (closes #6548) + Also options and registers. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1314 +Problem: Vim9: rule for comment after :function is confusing. +Solution: Allow double quoted comment after :function in vim9script. + (closes #6556) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1315 +Problem: MS-Windows: test log contains escape sequences. +Solution: Do not use t_md and t_me but ANSI escape sequences. (Ken Takata, + closes #6559) +Files: src/testdir/runtest.vim + +Patch 8.2.1316 +Problem: Test 42 is still old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #6561) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/test42.in, src/testdir/test42.ok, + src/testdir/test_writefile.vim + +Patch 8.2.1317 +Problem: MS-Windows tests on AppVeyor are slow. +Solution: Use GitHub Actions. (Ken Takata, closes #6569) +Files: Filelist, .github/workflows/ci-windows.yaml, appveyor.yml, + ci/appveyor.bat + +Patch 8.2.1318 +Problem: No status badge for Github CI. +Solution: Add a badge. +Files: README.md + +Patch 8.2.1319 +Problem: Status badge for Github CI has wrong link. +Solution: Rename and use the right link +Files: README.md, .github/workflows/ci-windows.yaml + +Patch 8.2.1320 +Problem: Vim9: cannot declare some single letter variables. +Solution: Do not recognize a colon for a namespace for single letter + variables. (closes #6547) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1321 +Problem: GitHub CI also runs on tag push. +Solution: Skip CI on push. (Ken Takata, closes #6571) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1322 +Problem: Vim9: method on double quoted string doesn't work. +Solution: Recognize double quoted string. (closes #6562) +Files: src/ex_docmd.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1323 +Problem: Vim9: invalid operators only rejected in :def function. +Solution: Also reject them at script level. (closes #6564) +Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1324 +Problem: Vim9: line break after "=" does not work. +Solution: Also allow for NUL after "=". (closes #6549) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1325 +Problem: Vim9: using Vim9 script for autoload not tested. +Solution: Add a test. Update help. +Files: runtime/doc/vim9.txt, src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/auto9.vim + +Patch 8.2.1326 +Problem: Vim9: skipping over white space after list. +Solution: Do not skip white space, a following [] would be misinterpreted. + (closes #6552) Fix a few side effects. +Files: src/list.c, src/dict.c, src/eval.c, src/userfunc.c, + src/testdir/test_functions.vim, src/testdir/test_gn.vim, + src/testdir/test_popupwin.vim, src/testdir/test_tabpage.vim, + src/testdir/test_textprop.vim, src/testdir/test_textobjects.vim + +Patch 8.2.1327 +Problem: Mac: configure can't find Tcl libraries. +Solution: Adjust configure check. (closes #6575) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1328 +Problem: No space allowed before comma in list. +Solution: Legacy Vim script allows it. (closes #6577) +Files: src/dict.c, src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.1329 +Problem: Vim9: cannot define global function inside :def function. +Solution: Assign to global variable instead of local. (closes #6584) +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/vim9.h, src/vim9execute.c, src/structs.h, + src/misc2.c, src/proto/misc2.pro, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1330 +Problem: Github workflow takes longer than needed. +Solution: Do two test runs in parallel instead of sequentially. (Ken Takata, + closes #6579) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1331 +Problem: Vim9: :echo with two lists doesn't work. +Solution: Do not skip white space before []. (closes #6552) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1332 +Problem: Vim9: memory leak when using nested global function. +Solution: Delete the function when deleting the instruction. Disable test + that still causes a leak. +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.1333 +Problem: Vim9: memory leak when using nested global function. +Solution: Swap from and to when copying the lines. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1334 +Problem: Github workflow timeout needs tuning +Solution: Use a 10 minute timeout. Fail when timing out. (Ken Takata, + closes #6590) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1335 +Problem: CTRL-C in the GUI doesn't interrupt. (Sergey Vlasov) +Solution: Recognize "C" with CTRL modifier as CTRL-C. (issue #6565) +Files: src/gui.c, src/proto/gui.pro, src/gui_gtk_x11.c, src/gui_x11.c, + src/gui_photon.c + +Patch 8.2.1336 (after 8.2.1335) +Problem: Build failure on non-Unix systems. +Solution: Add #ifdef. +Files: src/gui.c + +Patch 8.2.1337 +Problem: Vim9: cannot use empty key in dict assignment. +Solution: Allow empty key. (closes #6591) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1338 +Problem: Vim9: assigning to script-local variable doesn't check type. +Solution: Use the type. (issue #6591) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1339 +Problem: Vim9: assigning to global dict variable doesn't work. +Solution: Guess variable type based in index type. (issue #6591) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1340 +Problem: Some tests fail on Cirrus CI and/or with FreeBSD. +Solution: Make 'backupskip' empty. Do not run tests as root. Check for + directory when using viminfo. (Ozaki Kiichi, closes #6596) +Files: .cirrus.yml, src/testdir/test_backup.vim, + src/testdir/test_edit.vim, src/testdir/test_viminfo.vim, + src/testdir/test_writefile.vim, src/viminfo.c + +Patch 8.2.1341 +Problem: Build failures. +Solution: Add missing error message. +Files: src/globals.h + +Patch 8.2.1342 +Problem: Vim9: accidentally using "x" gives a confusing error. +Solution: Disallow using ":t" in Vim9 script. (issue #6399) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9script.c, + src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1343 +Problem: Vim9: cannot find global function when using g: when local + function with the same name exists. +Solution: Find global function when using g:. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1344 +Problem: Vim9: No test for trying to redefine global function. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1345 +Problem: Redraw error when using visual block and scroll. +Solution: Add check for w_topline. (closes #6597) +Files: src/drawscreen.c, src/testdir/test_display.vim, + src/testdir/dumps/Test_display_visual_block_scroll.dump + +Patch 8.2.1346 +Problem: Small build fails. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.1347 +Problem: Cannot easily get the script ID. +Solution: Support expand('<SID>'). +Files: runtime/doc/map.txt, src/ex_docmd.c, + src/testdir/test_expand_func.vim + +Patch 8.2.1348 +Problem: Build failure without the eval feature. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.1349 +Problem: Vim9: can define a function with the name of an import. +Solution: Disallow using an existing name. (closes #6585) +Files: src/userfunc.c, src/vim9compile.c, src/globals.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.1350 +Problem: Vim9: no test for error message when redefining function. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1351 +Problem: Vim9: no proper error if using namespace for nested function. +Solution: Specifically check for a namespace. (closes #6582) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1352 +Problem: Vim9: no error for shadowing a script-local function by a nested + function. +Solution: Check for script-local function. (closes #6586) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1353 +Problem: Crash when drawing double-wide character in terminal window. + (Masato Nishihata) +Solution: Check getcell() returning NULL. (issue #6141) +Files: src/libvterm/src/screen.c, src/testdir/test_terminal.vim + +Patch 8.2.1354 +Problem: Test 59 is old style. +Solution: Convert into a new style test. (Yegappan Lakshmanan, closes #6604) +Files: runtime/doc/eval.txt, src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_vms.mms, src/testdir/test59.in, + src/testdir/test59.ok, src/testdir/test_spell_utf8.vim + +Patch 8.2.1355 +Problem: Vim9: no error using :let for options and registers. +Solution: Give an error. (closes #6568) +Files: src/evalvars.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1356 +Problem: Vim9: cannot get the percent register. +Solution: Check for readable registers instead of writable. (closes #6566) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1357 +Problem: Vim9: cannot assign to / register. +Solution: Adjust check for assignment. (issue #6566) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1358 +Problem: Vim9: test fails with +dnd is not available. +Solution: Add condition. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1359 +Problem: Vim9: cannot assign to / register in Vim9 script. +Solution: Adjust check for assignment in Vim9 script. (closes #6567) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1360 +Problem: Stray error for white space after expression. +Solution: Ignore trailing white space. (closes #6608) +Files: src/eval.c, src/testdir/test_filter_map.vim + +Patch 8.2.1361 +Problem: Error for white space after expression in assignment. +Solution: Skip over white space. (closes #6617) +Files: src/eval.c, src/testdir/test_expr.vim + +Patch 8.2.1362 +Problem: Last entry of ":set term=xxx" overwritten by error message when + 'cmdheight' is two or more. (Tony Mechelynck) +Solution: Output extra line breaks. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.1363 +Problem: Test trying to run terminal when it is not supported. +Solution: Check if Vim can be run in a terminal. +Files: src/testdir/test_termcodes.vim + +Patch 8.2.1364 +Problem: Invalid memory access when searching for raw string. +Solution: Check for delimiter match before following quote. (closes #6578) +Files: src/search.c + +Patch 8.2.1365 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space. (closes #6618) +Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1366 +Problem: Test 49 is old style. +Solution: Convert several tests to new style. (Yegappan Lakshmanan, + closes #6629) +Files: src/testdir/script_util.vim, src/testdir/test49.ok, + src/testdir/test49.vim, src/testdir/test_vimscript.vim + +Patch 8.2.1367 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around *, / and %. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1368 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around <, !=, etc. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1369 +Problem: MS-Windows: autocommand test sometimes fails. +Solution: Do not rely on the cat command. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.1370 +Problem: MS-Windows: warning for using fstat() with stat_T. +Solution: use _fstat64() if available. (Naruhiko Nishino, closes #6625) +Files: src/macros.h + +Patch 8.2.1371 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around && and ||. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1372 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around ? and :. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1373 +Problem: Vim9: no error for assigning to non-existing script var. +Solution: Check that in Vim9 script the variable was defined. (closes #6630) +Files: src/vim9compile.c, src/userfunc.c, src/structs.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.1374 +Problem: Vim9: error for assigning empty list to script variable. +Solution: Use t_unknown for empty list member. (closes #6595) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1375 +Problem: Vim9: method name with digit not accepted. +Solution: Use eval_isnamec() instead of eval_isnamec1(). (closes #6613) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1376 +Problem: Vim9: expression mapping causes error for using :import. +Solution: Add EX_LOCK_OK to :import and :export. (closes #6606) +Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1377 +Problem: Triggering the ATTENTION prompt causes typeahead to be messed up. +Solution: Increment tb_change_cnt. (closes #6541) +Files: src/getchar.c + +Patch 8.2.1378 +Problem: Cannot put space between function name and paren. +Solution: Allow this for backwards compatibility. +Files: src/eval.c, src/testdir/test_expr.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1379 +Problem: Curly braces expression ending in " }" does not work. +Solution: Skip over white space when checking for "}". (closes #6634) +Files: src/dict.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.1380 +Problem: Vim9: return type of getreg() is always a string. +Solution: Use list of strings when there are three arguments. (closes #6633) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1381 +Problem: MS-Windows: crash with Python 3.5 when stdin is redirected. +Solution: Reconnect stdin. (Yasuhiro Matsumoto, Ken Takata, closes #6641) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/if_python3.c + +Patch 8.2.1382 +Problem: Vim9: using :import in filetype plugin gives an error. +Solution: Allow commands with the EX_LOCK_OK flag. (closes #6636) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1383 +Problem: Test 49 is old style. +Solution: Convert test cases to new style. (Yegappan Lakshmanan, + closes #6638) +Files: src/testdir/test49.ok, src/testdir/test49.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.1384 +Problem: No ATTENTION prompt for :vimgrep first match file. +Solution: When there is an existing swap file do not keep the dummy buffer. + (closes #6649) +Files: src/quickfix.c, src/testdir/runtest.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.1385 +Problem: No testing on ARM. +Solution: Add a test on Travis for ARM. (Ozaki Kiichi, closes #6615) +Files: .travis.yml + +Patch 8.2.1386 +Problem: Backslash not removed after space in option with space in + 'isfname'. +Solution: Do remove backslash before space, also when it is in 'isfname'. + (Yasuhiro Matsumoto, closes #6651) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.2.1387 +Problem: Vim9: cannot assign to single letter variable with type. +Solution: Exclude the colon from the variable name. (closes #6647) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1388 +Problem: Vim9: += only works for numbers. +Solution: Use += as concatenate for a list. (closes #6646) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1389 +Problem: File missing from the distribution. +Solution: Add script_util.vim to the list of distributes files. +Files: Filelist + +Patch 8.2.1390 +Problem: Vim9: type error after storing an option value. +Solution: Drop the type after a STOREOPT instruction. (closes #6632) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1391 +Problem: Vim9: no error for shadowing a script function. +Solution: Check for already defined items. (closes #6652) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1392 +Problem: Vim9: error line number incorrect after skipping over comment + lines. +Solution: Insert empty lines for skipped lines. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1393 +Problem: Insufficient testing for script debugging. +Solution: Add more tests. (Ben Jackson) +Files: src/testdir/test_debugger.vim + +Patch 8.2.1394 +Problem: Vim9: compiling a function interferes with command modifiers. +Solution: Save and restore command modifiers. (closes #6658) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1395 +Problem: Vim9: no error if declaring a funcref with a lower case letter. +Solution: Check the name after the type is inferred. Fix confusing name. +Files: src/vim9compile.c, src/dict.c, src/eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1396 +Problem: Vim9: no error for unexpectedly returning a value. +Solution: Only set the return type for lambda's. Make using function type + in a function reference work. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1397 +Problem: Vim9: return type of maparg() not adjusted for fourth argument. +Solution: Check if fourth argument is present. (closes #6645) +Files: src/evalfunc.c, src/testdir/test_maparg.vim + +Patch 8.2.1398 +Problem: Autoload script sourced twice if sourced directly. +Solution: Do not source an autoload script again. (issue #6644) +Files: src/scriptfile.c, src/testdir/sautest/autoload/sourced.vim + +Patch 8.2.1399 +Problem: Vim9: may find imported item in wrong script. +Solution: When looking up script-local function use the embedded script ID. + (issue #6644) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1400 +Problem: Vim9: test does not delete written files. +Solution: Correct file names. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1401 +Problem: Cannot jump to the last used tabpage. +Solution: Add g<Tab> and tabpagnr('#'). (Yegappan Lakshmanan, closes #6661, + neovim #11626) +Files: runtime/doc/eval.txt, runtime/doc/index.txt, + runtime/doc/tabpage.txt, src/evalwindow.c, src/globals.h, + src/normal.c, src/proto/window.pro, src/testdir/test_tabpage.vim, + src/window.c + +Patch 8.2.1402 +Problem: s390x tests always fail. +Solution: Temporarily disable s390x tests. +Files: .travis.yml + +Patch 8.2.1403 +Problem: Vim9: Vim highlighting fails in cmdline window if it uses Vim9 + commands. +Solution: Allow using :vim9script, :import and :export while in the cmdline + window. (closes #6656) +Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1404 +Problem: Vim9: script test fails in the GUI. +Solution: Use another key to map. Improve cleanup. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1405 +Problem: Vim9: vim9compile.c is getting too big. +Solution: Split off type code to vim9type.c. +Files: Filelist, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9type.c, src/proto/vim9type.pro, src/proto.h, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile + +Patch 8.2.1406 +Problem: Popupwindow lacks scrollbar if no "maxheight" is used. +Solution: Compute the max height depending on the position. (closes #6664) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_toohigh_1.dump, + src/testdir/dumps/Test_popupwin_toohigh_2.dump + +Patch 8.2.1407 +Problem: Vim9: type of list and dict only depends on first item. +Solution: Use all items to decide about the type. +Files: src/vim9compile.c, src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_expr.vim, runtime/doc/vim9.txt + +Patch 8.2.1408 +Problem: Vim9: type casting not supported. +Solution: Introduce type casting. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1409 +Problem: Nmpmrc and php.ini filetypes not recognized. +Solution: Add filetype detection. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1410 +Problem: Adding compiler plugin requires test change. +Solution: Include compiler plugin and adjust test. +Files: src/testdir/test_compiler.vim, runtime/compiler/xo.vim + +Patch 8.2.1411 +Problem: when splitting a window localdir is copied but prevdir is not. +Solution: Also copy prevdir. (closes #6667) +Files: src/window.c, src/testdir/test_cd.vim + +Patch 8.2.1412 +Problem: Vim: not operator does not result in boolean. +Solution: Make type depend on operator. (issue 6678) Fix using "false" and + "true" in Vim9 script. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1413 (after 8.2.1401) +Problem: Previous tab page not usable from an Ex command. +Solution: Add the "#" argument for :tabnext et al. (Yegappan Lakshmanan, + closes #6677) +Files: runtime/doc/tabpage.txt, src/ex_docmd.c, src/window.c, + src/testdir/test_tabpage.vim + +Patch 8.2.1414 +Problem: Popupwindow missing last couple of lines when cursor is in the + first line. +Solution: Compute the max height also when top aligned. (closes #6664) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_toohigh_3.dump, + src/testdir/dumps/Test_popupwin_nospace.dump + +Patch 8.2.1415 +Problem: Closing a popup window with CTRL-C interrupts 'statusline' if it + calls a function. +Solution: Reset got_int while redrawing. (closes #6675) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_ctrl_c.dump + +Patch 8.2.1416 +Problem: Vim9: boolean evaluation does not work as intended. +Solution: Use tv2bool() in Vim9 script. (closes #6681) +Files: src/eval.c, src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim + +Patch 8.2.1417 +Problem: Test 49 is old style. +Solution: Convert more parts to new style test. (Yegappan Lakshmanan, + closes #6682) +Files: src/testdir/test49.ok, src/testdir/test49.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.1418 +Problem: Vim9: invalid error for missing white space after function. +Solution: Do not skip over white space. (closes #6679) +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1419 +Problem: Vim9: not operator applied too early. +Solution: Implement the "numeric_only" argument. (closes #6680) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1420 +Problem: Test 49 is old style. +Solution: Convert remaining parts to new style. Remove obsolete items. + (Yegappan Lakshmanan, closes #6683) +Files: Filelist, runtime/doc/testing.txt, src/Make_mvc.mak, src/Makefile, + src/testdir/Make_all.mak, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/README.txt, src/testdir/test49.in, + src/testdir/test49.ok, src/testdir/test49.vim, + src/testdir/test_quickfix.vim, src/testdir/test_vimscript.vim + +Patch 8.2.1421 +Problem: Vim9: handling "+" and "-" before number differs from Vim script. +Solution: Use the same sequence of commands. +Files: src/vim9compile.c + +Patch 8.2.1422 +Problem: The Mac GUI implementation is outdated and probably doesn't even + work. +Solution: Remove the Mac GUI code. The MacVim project provides the + supported Vim GUI version. +Files: Filelist, src/gui_mac.c, src/proto/gui_mac.pro, src/proto.h, + src/Makefile, src/configure.ac, src/auto/configure, + src/evalfunc.c, src/fileio.c, src/gui.c, src/if_mzsch.c, + src/main.c, src/misc2.c, src/mouse.c, src/os_mac_conv.c, + src/os_unix.c, src/feature.h, src/globals.h, src/gui.h, + src/option.h, src/optiondefs.h, src/os_mac.h, src/structs.h, + src/vim.h, src/INSTALLmac.txt + +Patch 8.2.1423 +Problem: Vim9: find global function when looking for script-local. +Solution: Don't strip prefix if name starts with "s:". (closes #6688) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1424 (after 8.2.1422) +Problem: Mac build fails. +Solution: Adjust configure to not fall back to Athena. Adjust some other + files. +Files: src/configure.ac, src/auto/configure, src/os_macosx.m, + src/version.c + +Patch 8.2.1425 +Problem: Vim9: cannot use call() without :call. +Solution: Do not skip over "call(". (closes #6689) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1426 +Problem: Vim9: cannot call autoload function in :def function. +Solution: Load the autoload script. (closes #6690) +Files: src/vim9execute.c, src/vim9compile.c, src/scriptfile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1427 +Problem: Vim9: cannot use a range with marks in :def function. +Solution: Parse range after colon. (closes #6686) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1428 +Problem: Vim9: :def function does not abort on nested function error. +Solution: Check whether an error message was given. (closes #6691) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1429 +Problem: Vim9: no error for missing white after : in dict. +Solution: Check for white space. (closes #6671) Also check that there is no + white before the :. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1430 +Problem: Vim9: error for missing comma instead of extra white space. +Solution: Check if comma can be found after white space. (closes #6668) + Also check for extra white space in literal dict. (closes #6670) +Files: src/list.c, src/dict.c, src/vim9compile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1431 +Problem: Vim9: no error for white space before comma in dict. +Solution: Check for extra white space. (closes #6674) +Files: src/vim9compile.c, src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1432 +Problem: Various inconsistencies in test files. +Solution: Add modelines where they were missing. Use Check commands instead + of silently skipping over tests. Adjust indents and comments. + (Ken Takata, closes #6695) +Files: src/testdir/test_arglist.vim, src/testdir/test_assert.vim, + src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim, + src/testdir/test_autoload.vim, src/testdir/test_balloon.vim, + src/testdir/test_balloon_gui.vim, src/testdir/test_behave.vim, + src/testdir/test_blockedit.vim, src/testdir/test_breakindent.vim, + src/testdir/test_bufline.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_cd.vim, src/testdir/test_changedtick.vim, + src/testdir/test_changelist.vim, src/testdir/test_channel.vim, + src/testdir/test_checkpath.vim, src/testdir/test_cindent.vim, + src/testdir/test_cjk_linebreak.vim, + src/testdir/test_clientserver.vim, + src/testdir/test_close_count.vim, src/testdir/test_cmdline.vim, + src/testdir/test_command_count.vim, + src/testdir/test_comparators.vim, src/testdir/test_compiler.vim, + src/testdir/test_crypt.vim, src/testdir/test_cursorline.vim, + src/testdir/test_curswant.vim, src/testdir/test_debugger.vim, + src/testdir/test_delete.vim, src/testdir/test_diffmode.vim, + src/testdir/test_digraph.vim, src/testdir/test_display.vim, + src/testdir/test_edit.vim, src/testdir/test_environ.vim, + src/testdir/test_erasebackword.vim, + src/testdir/test_escaped_glob.vim, src/testdir/test_ex_equal.vim, + src/testdir/test_ex_undo.vim, src/testdir/test_ex_z.vim, + src/testdir/test_exec_while_if.vim, src/testdir/test_exists.vim, + src/testdir/test_exists_autocmd.vim, src/testdir/test_exit.vim, + src/testdir/test_expand_dllpath.vim, + src/testdir/test_expr_utf8.vim, src/testdir/test_feedkeys.vim, + src/testdir/test_file_size.vim, src/testdir/test_fileformat.vim, + src/testdir/test_filter_cmd.vim, + src/testdir/test_find_complete.vim, src/testdir/test_findfile.vim, + src/testdir/test_fixeol.vim, src/testdir/test_flatten.vim, + src/testdir/test_fnameescape.vim, src/testdir/test_fold.vim, + src/testdir/test_functions.vim, src/testdir/test_ga.vim, + src/testdir/test_getcwd.vim, src/testdir/test_getvar.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_global.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim, + src/testdir/test_highlight.vim, src/testdir/test_hlsearch.vim, + src/testdir/test_iminsert.vim, + src/testdir/test_increment_dbcs.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_interrupt.vim, + src/testdir/test_job_fails.vim, src/testdir/test_join.vim, + src/testdir/test_json.vim, src/testdir/test_jumplist.vim, + src/testdir/test_jumps.vim, src/testdir/test_lambda.vim, + src/testdir/test_langmap.vim, src/testdir/test_largefile.vim, + src/testdir/test_lineending.vim, src/testdir/test_listchars.vim, + src/testdir/test_listener.vim, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, + src/testdir/test_makeencoding.vim, src/testdir/test_man.vim, + src/testdir/test_mapping.vim, src/testdir/test_marks.vim, + src/testdir/test_matchadd_conceal.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_memory_usage.vim, src/testdir/test_menu.vim, + src/testdir/test_messages.vim, src/testdir/test_mksession.vim, + src/testdir/test_modeline.vim, + src/testdir/test_nested_function.vim, src/testdir/test_number.vim, + src/testdir/test_options.vim, src/testdir/test_packadd.vim, + src/testdir/test_partial.vim, src/testdir/test_paste.vim, + src/testdir/test_plus_arg_edit.vim, src/testdir/test_preview.vim, + src/testdir/test_profile.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_quickfix.vim, src/testdir/test_quotestar.vim, + src/testdir/test_random.vim, src/testdir/test_recover.vim, + src/testdir/test_regex_char_classes.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_registers.vim, + src/testdir/test_rename.vim, src/testdir/test_retab.vim, + src/testdir/test_scriptnames.vim, src/testdir/test_scroll_opt.vim, + src/testdir/test_scrollbind.vim, src/testdir/test_search_stat.vim, + src/testdir/test_searchpos.vim, src/testdir/test_set.vim, + src/testdir/test_sha256.vim, src/testdir/test_shift.vim, + src/testdir/test_shortpathname.vim, src/testdir/test_signs.vim, + src/testdir/test_sort.vim, src/testdir/test_sound.vim, + src/testdir/test_source_utf8.vim, src/testdir/test_spellfile.vim, + src/testdir/test_startup.vim, src/testdir/test_startup_utf8.vim, + src/testdir/test_stat.vim, src/testdir/test_suspend.vim, + src/testdir/test_swap.vim, src/testdir/test_syntax.vim, + src/testdir/test_tab.vim, src/testdir/test_tabline.vim, + src/testdir/test_tagcase.vim, src/testdir/test_tagjump.vim, + src/testdir/test_taglist.vim, src/testdir/test_termcodes.vim, + src/testdir/test_termencoding.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim, + src/testdir/test_terminal_fail.vim, + src/testdir/test_true_false.vim, + src/testdir/test_utf8_comparisons.vim, + src/testdir/test_vartabs.vim, src/testdir/test_version.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_winbar.vim, + src/testdir/test_winbuf_close.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, + src/testdir/test_windows_home.vim, src/testdir/test_wnext.vim, + src/testdir/test_wordcount.vim, src/testdir/test_writefile.vim, + src/testdir/test_xxd.vim + +Patch 8.2.1433 +Problem: Vim9: cannot mingle comments in multi-line lambda. +Solution: Skip over NULL lines. (closes #6694) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1434 +Problem: Vim9: crash when lambda uses outer function argument. +Solution: Set the flag that the outer context is used. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1435 +Problem: Vim9: always converting to string for ".." leads to mistakes. +Solution: Only automatically convert simple types. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9.h, + src/vim9execute.c, src/proto/vim9execute.pro, src/eval.c, + src/evalfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1436 +Problem: Function implementing :substitute has unexpected name. +Solution: Rename from do_sub() to ex_substitute(). +Files: src/ex_cmds.c, src/proto/ex_cmds.pro, src/ex_docmd.c, + src/ex_cmds.h + +Patch 8.2.1437 +Problem: Vim9: 'statusline' is evaluated using Vim9 script syntax. +Solution: Always use legacy script syntax. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1438 +Problem: Missing tests for interrupting script execution from debugger. +Solution: Add tests. (Yegappan Lakshmanan, closes #6697) +Files: src/testdir/test_debugger.vim + +Patch 8.2.1439 +Problem: Tiny and small builds have no test coverage. +Solution: Restore tests that do not depend on the +eval feature. + (Ken Takata, closes #6696) +Files: .travis.yml, Filelist, Makefile, runtime/doc/testing.txt, + src/Make_mvc.mak, src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/runtest.vim, + src/testdir/test1.in, src/testdir/test1.ok, src/testdir/test20.in, + src/testdir/test20.ok, src/testdir/test21.in, + src/testdir/test21.ok, src/testdir/test22.in, + src/testdir/test22.ok, src/testdir/test23.in, + src/testdir/test23.ok, src/testdir/test24.in, + src/testdir/test24.ok, src/testdir/test25.in, + src/testdir/test25.ok, src/testdir/test26.in, + src/testdir/test26.ok, src/testdir/test27.in, + src/testdir/test27.ok, src/testdir/test_options.vim + +Patch 8.2.1440 +Problem: Debugger code insufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6700) +Files: src/testdir/test_debugger.vim, src/testdir/test_vimscript.vim + +Patch 8.2.1441 +Problem: Running tests in tiny version gives error for summarize.vim. +Solution: Set 'cpoptions' to allow for line continuation. Restore + redirecting test output to /dev/null. +Files: src/testdir/summarize.vim, src/testdir/Makefile + +Patch 8.2.1442 +Problem: Outdated references to the Mac Carbon GUI. +Solution: Remove or update references. (Yee Cheng Chin, closes #6703) +Files: READMEdir/README_extra.txt, src/Makefile, src/configure.ac, + src/auto/configure, src/gui_haiku.cc, src/os_macosx.m, + src/testdir/test_iminsert.vim, src/vim.h + +Patch 8.2.1443 +Problem: Vim9: crash when interrupting a nested :def function. +Solution: Push a dummy return value onto the stack. (closes #6701) +Files: src/vim9execute.c + +Patch 8.2.1444 +Problem: Error messages are spread out and names can be confusing. +Solution: Start moving error messages to a separate file and use clear + names. +Files: Filelist, src/vim.h, src/globals.h, src/errors.h, src/Makefile, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/dict.c, src/evalvars.c, src/ex_docmd.c, src/list.c, + src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/vim9type.c + +Patch 8.2.1445 +Problem: Vim9: function expanded name is cleared when sourcing a script + again. +Solution: Only clear the expanded name when deleting the function. + (closes #6707) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1446 +Problem: Vim9: line number in error message is not correct. +Solution: Set SOURCING_LNUM before calling emsg(). (closes #6708) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1447 +Problem: Vim9: return type of keys() is list<any>. +Solution: Should be list<string>. (closes #6711) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1448 +Problem: Test 77a for VMS depends on small.vim which does not exist. +Solution: Use the 'silent while 0" trick. (issue #6696) +Files: src/testdir/test77a.in + +Patch 8.2.1449 +Problem: Some test makefiles delete files that are not generated. +Solution: Remove the deletion commands. +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms + +Patch 8.2.1450 +Problem: Vim9: no check that script-local items don't become global. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1451 +Problem: Vim9: list type at script level only uses first item. +Solution: Use all members, like in a compiled function. (closes #6712) + Also for dictionary. +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1452 +Problem: Vim9: dead code in to_name_end(). +Solution: Remove check for lambda and dict, it won't be used. +Files: src/vim9compile.c + +Patch 8.2.1453 +Problem: Vim9: failure to compile lambda not tested. +Solution: Add a test case. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1454 +Problem: Vim9: failure invoking lambda with wrong arguments. +Solution: Handle invalid arguments. Add a test. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1455 +Problem: Vim9: crash when using typecast before constant. +Solution: Generate constant before checking type. Add tets. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1456 +Problem: MS-Windows: test files are not deleted. +Solution: use "del" instead of $(DEL). +Files: src/testdir/Make_dos.mak + +Patch 8.2.1457 +Problem: Vim9: the output of :disassemble cannot be interrupted. +Solution: Check got_int. (closes #6715) +Files: src/vim9execute.c + +Patch 8.2.1458 +Problem: .gawk files not recognized. +Solution: Recognize .gawk files. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1459 +Problem: Vim9: declaring ascript variable at the script level does not + infer the type. +Solution: Get the type from the value. (closes #6716) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1460 +Problem: Error messages are spread out. +Solution: Move more messages into errors.h. +Files: src/errors.h, src/globals.h, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/vim9type.c, src/scriptfile.c, src/ex_cmds.c, + src/ex_docmd.c, src/match.c, src/eval.c, src/evalvars.c, + src/userfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1461 +Problem: Vim9: string indexes are counted in bytes. +Solution: Use character indexes. (closes #6574) +Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, + src/vim9execute.c, src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1462 +Problem: Vim9: string slice not supported yet. +Solution: Add support for string slicing. +Files: src/errors.h, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/eval.c, src/proto/eval.pro, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1463 +Problem: Vim9: list slice not supported yet. +Solution: Add support for list slicing. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/eval.c, + src/list.c, src/proto/list.pro, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1464 +Problem: Vim9: build warning for unused variable. +Solution: Delete the variable declaration. +Files: src/vim9execute.c + +Patch 8.2.1465 +Problem: Vim9: subscript not handled properly. +Solution: Adjust error message. Remove dead code. Disallow string to + number conversion in scripts. +Files: src/errors.h, src/vim9compile.c, src/vim9execute.c, src/eval.c, + src/typval.c, src/list.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1466 +Problem: Vim9: cannot index or slice a variable with type "any". +Solution: Add runtime index and slice. +Files: src/eval.c, src/proto/eval.pro, src/vim9compile.c, + src/vim9execute.c, src/vim9.h, src/errors.h, src/list.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1467 +Problem: Vim9: :echomsg doesn't like a dict argument. +Solution: Convert arguments like in legacy script. (closes #6717) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1468 +Problem: Vim9: invalid error for missing white space. +Solution: Don't skip over white space after index. (closes #6718) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1469 +Problem: Vim9: cannot assign string to string option. +Solution: Change checks for option value. (closes #6720) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1470 +Problem: Errors in spell file not tested. +Solution: Add test for spell file errors. (Yegappan Lakshmanan, + closes #6721) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1471 +Problem: :const only locks the variable, not the value. +Solution: Lock the value as ":lockvar 1 var" would do. (closes #6719) +Files: src/evalvars.c, src/testdir/test_const.vim + +Patch 8.2.1472 +Problem: ":argdel" does not work like ":.argdel" as documented. (Alexey + Demin) +Solution: Make ":argdel" work like ":.argdel". (closes #6727) + Also fix giving the error "0 more files to edit". +Files: src/arglist.c, src/ex_docmd.c, src/testdir/test_arglist.vim + +Patch 8.2.1473 +Problem: Items in a list given to :const can still be modified. +Solution: Work like ":lockvar! name" but don't lock referenced items. + Make locking a blob work. +Files: runtime/doc/eval.txt, src/evalvars.c, src/eval.c, + src/testdir/test_const.vim + +Patch 8.2.1474 +Problem: /usr/lib/udef/rules.d not recognized as udevrules. +Solution: Adjust match pattern. (Haochen Tong, closes 36722) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.1475 +Problem: Vim9: can't use v:true for option flags. +Solution: Add tv_get_bool_chk(). (closes #6725) +Files: src/typval.c, src/proto/typval.pro, src/channel.c + +Patch 8.2.1476 (after 8.2.1474) +Problem: Filetype test fails on MS-Windows. +Solution: Remove "^" from pattern. +Files: runtime/autoload/dist/ft.vim + +Patch 8.2.1477 +Problem: Vim9: error when using bufnr('%'). +Solution: Don't give an error for using a string argument. (closes #6723) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1478 +Problem: Vim9: cannot use "true" for some popup options. +Solution: Add dict_get_bool(). (closes #6725) +Files: src/dict.c, src/proto/dict.pro, src/popupwin.c + +Patch 8.2.1479 +Problem: Vim9: error for list index uses wrong line number. +Solution: Set source line number. (closes #6724) Add a way to assert the + line number of the error with assert_fails(). +Files: runtime/doc/testing.txt, src/vim9execute.c, src/testing.c, + src/evalfunc.c, src/message.c, src/globals.h, src/testdir/vim9.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1480 +Problem: Vim9: skip expression in search() gives error. +Solution: use tv_get_bool() eval_expr_to_bool(). (closes #6729) +Files: src/eval.c, src/typval.c, src/proto/typval.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.1481 +Problem: Vim9: line number reported with error may be wrong. +Solution: Check line number in tests. +Files: src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim, + src/vim9execute.c + +Patch 8.2.1482 +Problem: Vim9: crash when using a nested lambda. +Solution: Do not clear the growarray when not evaluating. Correct pointer + when getting the next line. (closes #6731) +Files: src/eval.c, src/scriptfile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1483 +Problem: Vim9: error for using special as number when returning "false" + from a popup filter. +Solution: Use tv_get_bool(). (closes #6733) +Files: src/popupwin.c + +Patch 8.2.1484 +Problem: Flaky failure in assert_fails(). +Solution: Only used fourth argument if there is a third argument. +Files: src/testing.c + +Patch 8.2.1485 +Problem: Vim9: readdirex() expression doesn't accept bool. +Solution: Accept both -1 and bool. (closes #6737) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1486 +Problem: Vim9: readdir() expression doesn't accept bool. +Solution: Merge with code for readdirex(). (closes #6737) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1487 +Problem: Travis: installing snd-dummy is not always useful. +Solution: Only install snd-dummy on amd64. (Ozaki Kiichi, closes #6738) +Files: .travis.yml, ci/load-snd-dummy.sh + +Patch 8.2.1488 +Problem: Text does not scroll when inserting above first line. +Solution: Adjust off-by-one error. (Ken Takata, closes #6739) +Files: src/drawscreen.c, src/testdir/test_display.vim, + src/testdir/dumps/Test_display_scroll_at_topline.dump + +Patch 8.2.1489 +Problem: Vim9: error when setting an option with setbufvar(). +Solution: Do not get a number from a string value. (closes #6740) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1490 +Problem: Vim9: using /= with float and number doesn't work. +Solution: Better support assignment with operator. (closes #6742) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1491 +Problem: Vim9: crash when compiling heredoc lines start with comment. +Solution: Skip over NULL pointers. Do not remove comment and empty lines + when fetching function lines. (closes #6743) +Files: src/vim9compile.c, src/scriptfile.c, src/proto/scriptfile.pro, + src/structs.h, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_cmds.h, src/autocmd.c, src/proto/autocmd.pro, + src/ex_getln.c, src/proto/ex_getln.pro, src/userfunc.c, + src/proto/userfunc.pro, src/evalfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1492 +Problem: Build failures. +Solution: Move typedef out of #ifdef. Adjust argument types. Discover + America. +Files: src/structs.h, src/ex_docmd.c + +Patch 8.2.1493 +Problem: Not enough test coverage for the spell file handling. +Solution: Add spell file tests. (Yegappan Lakshmanan, closes #6728) +Files: src/spellfile.c, src/testdir/test_spellfile.vim + +Patch 8.2.1494 +Problem: Missing change to calling eval_getline(). +Solution: Change last argument. +Files: src/eval.c + +Patch 8.2.1495 +Problem: "make clean" may delete too many files. +Solution: Do not delete $APPDIR. (closes #6751) +Files: src/Makefile + +Patch 8.2.1496 +Problem: Vim9: cannot use " #" in a mapping. +Solution: Do not remove a comment with the EX_NOTRLCOM flag. (closes #6746) +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1497 +Problem: CursorHold test is flaky. (Jakub Kądziołka) +Solution: Use WaitForAssert() (closes #6754) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.1498 +Problem: On slow systems tests can be flaky. +Solution: Use TermWait() instead of term-wait(). (Yegappan Lakshmanan, + closes #6756) +Files: src/testdir/test_digraph.vim, src/testdir/test_display.vim, + src/testdir/test_popupwin.vim, src/testdir/test_termcodes.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal3.vim, + src/testdir/test_writefile.vim + +Patch 8.2.1499 +Problem: Vim9: error when using "$" with col(). +Solution: Reorder getting the column value. (closes #6744) +Files: src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1500 +Problem: Vim9: error when using address without a command. +Solution: Execute the range itself. (closes #6747) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1501 +Problem: Vim9: concatenating to constant reverses order. +Solution: Generate constant before option, register and environment + variable. (closes #6757) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1502 +Problem: Vim9: can use += with a :let command at script level. +Solution: Give an error. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1503 +Problem: Vim9: error for an autocmd defined in a :def function in legacy + Vim script. +Solution: Don't check the variable type. (closes #6758) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1504 +Problem: Vim9: white space checks are only done for a :def function. +Solution: Also do checks at the script level. Adjust the name of a few + error messages. +Files: src/userfunc.c, src/errors.h, src/dict.c, src/list.c, + src/vim9compile.c, src/vim9script.c, src/vim9type.c, + src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/vim9.vim + +Patch 8.2.1505 +Problem: Not all file read and writecode is tested. +Solution: Add a few tests. (Dominique Pellé, closes #6764) +Files: src/testdir/test_eval_stuff.vim, src/testdir/test_fnamemodify.vim, + src/testdir/test_functions.vim + +Patch 8.2.1506 +Problem: Vim9: no error when using a number other than 0 or 1 as bool. +Solution: Check the number is 0 or 1. +Files: src/errors.h, src/typval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1507 +Problem: Using malloc() directly. +Solution: Use ALLOC_ONE(). Remove superfluous typecast. (Hussam al-Homsi, + closes #6768) +Files: src/eval.c, src/memline.c, src/vimrun.c + +Patch 8.2.1508 +Problem: Not all debugger commands covered by tests. +Solution: Add tests for going up/down in the stack. (Ben Jackson, + closes #6765) +Files: src/testdir/test_debugger.vim + +Patch 8.2.1509 +Problem: Vertical separator is cleared when dragging a popup window using a + multi-byte character for the border. +Solution: Only clear the character before the window if it is using a + multi-byte character. (closes #6766) +Files: src/screen.c + +Patch 8.2.1510 +Problem: Using "var" in a :def function may refer to a legacy Vim script + variable. +Solution: Require using "s:" to refer to a legacy Vim script variable. + (closes #6771) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1511 +Problem: Putting a string in Visual block mode ignores multi-byte + characters. +Solution: Adjust the column for Visual block mode. (closes #6767) +Files: src/register.c, src/testdir/test_visual.vim + +Patch 8.2.1512 +Problem: Failure after ternary expression fails. +Solution: Restore eval_flags. (Yasuhiro Matsumoto, closes #6776) +Files: src/eval.c, src/testdir/test_vimscript.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1513 +Problem: Cannot interrupt shell used for filename expansion. (Dominique + Pellé) +Solution: Do set tmode in mch_delay(). (closes #6770) +Files: src/vim.h, src/os_unix.c, src/proto/os_unix.pro, src/term.c, + src/channel.c, src/if_cscope.c, src/os_amiga.c, src/ui.c, + src/proto/os_amiga.pro, src/os_win32.c, src/proto/os_win32.pro + +Patch 8.2.1514 +Problem: Multibyte vertical separator is cleared when dragging a popup + window using a multi-byte character for the border. +Solution: Only clear the character before the window if it is double width. + (closes #6766) +Files: src/screen.c + +Patch 8.2.1515 +Problem: Vim9: can create s:var in legacy script but cannot unlet. +Solution: Allow :unlet for legacy script var. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1516 +Problem: Vim9: error for :exe has wrong line number. +Solution: Set line number before calling do_cmdline_cmd(). (closes #6774) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1517 +Problem: Cannot easily get the character under the cursor. +Solution: Add the {chars} argument to strpart(). +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.1518 +Problem: Vim9: cannot assign to local option. +Solution: Skip over "&l:" and "&g:". (closes #6749) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/vim9.vim, + src/vim9compile.c src/testdir/test_vim9_script.vim + +Patch 8.2.1519 +Problem: Vim9: Ex command default range is not set. +Solution: When range is not given use default. (closes #6779) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1520 +Problem: Vim9: CTRL-] used in :def function does not work. +Solution: Omit count or prepend colon. (closes #6769) +Files: src/normal.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1521 +Problem: Reading past end of buffer when reading spellfile. (Yegappan + Lakshmanan) +Solution: Store the byte length and check for it. +Files: src/spellfile.c, src/spell.h + +Patch 8.2.1522 +Problem: Not enough test coverage for the spell file handling. +Solution: Add spell file tests. (Yegappan Lakshmanan, closes #6763) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1523 +Problem: Still not enough test coverage for the spell file handling. +Solution: Add spell file tests. (Yegappan Lakshmanan, closes #6790) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1524 +Problem: No longer get an error for string concatenation with float. + (Tsuyoshi Cho) +Solution: Only convert float for Vim9 script. (closes #6787) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.1525 +Problem: Messages from tests were not always displayed. +Solution: Always show messages, the timing is always useful. (Ken Takata, + closes #6792) +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Makefile + +Patch 8.2.1526 +Problem: Line in testdir Makefile got commented out. (Christian Brabandt) +Solution: Revert. +Files: src/testdir/Makefile + +Patch 8.2.1527 +Problem: Vim9: cannot use a function name as a function reference at script + level. +Solution: Check if a name is a function name. (closes #6789) +Files: src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1528 +Problem: Vim9: :endif not found after "if false". +Solution: When skipping still check for a following command. (closes #6797) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1529 +Problem: Vim9: :elseif may be compiled when not needed. +Solution: Do evaluate the :elseif expression. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1530 +Problem: Vim9: test fails on MS-Windows. +Solution: Skip Ex command inside "if false". +Files: src/vim9compile.c + +Patch 8.2.1531 +Problem: Vim9: test still fails on MS-Windows. +Solution: When skipping expect function to be NULL. +Files: src/vim9compile.c + +Patch 8.2.1532 +Problem: Compiler warning for conversion of size_t to long. +Solution: Add type cast. +Files: src/eval.c + +Patch 8.2.1533 +Problem: Vim9: error when passing getreginfo() result to setreg(). +Solution: Use dict_get_bool() for "isunnamed". (closes #6784) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1534 +Problem: Vim9: type error for argument type is not at call position. +Solution: Set the context and stack after checking the arguments. + (issue #6785) +Files: src/userfunc.c, src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1535 +Problem: It is not possible to specify cell widths of characters. +Solution: Add setcellwidths(). +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/mbyte.c, + src/proto/mbyte.pro, src/errors.h, src/testdir/test_utf8.vim + +Patch 8.2.1536 +Problem: Cannot get the class of a character; emoji widths are wrong in + some environments. +Solution: Add charclass(). Update some emoji widths. Add script to check + emoji widths. +Files: Filelist, runtime/doc/eval.txt, runtime/doc/usr_41.txt, + src/evalfunc.c, src/mbyte.c, src/proto/mbyte.pro, + src/testdir/emoji_list.vim, src/testdir/test_functions.vim + +Patch 8.2.1537 +Problem: Memory acccess error when using setcellwidths(). +Solution: Use array and pointers correctly. +Files: src/mbyte.c, src/errors.h, src/testdir/test_utf8.vim + +Patch 8.2.1538 +Problem: Python: iteration over vim objects fails to keep reference. +Solution: Keep a reference for the object. (Paul Ollis, closes #6803, + closes #6806) +Files: src/if_py_both.h, src/testdir/test_python3.vim + +Patch 8.2.1539 +Problem: Using invalid script ID causes a crash. +Solution: Check the script ID to be valid. (closes #6804) +Files: src/globals.h, src/evalvars.c, src/profiler.c, src/scriptfile.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1540 +Problem: The user cannot try out emoji character widths. +Solution: Move the emoji script to the runtime/tools directory. +Files: Filelist, src/testdir/emoji_list.vim, runtime/tools/emoji_list.vim + +Patch 8.2.1541 +Problem: Vim9: cannot find function reference for s:Func. +Solution: Recognize <SNR> prefix. (closes #6805) +Files: src/userfunc.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1542 +Problem: Vim9: test with invalid SID does not work in the GUI. +Solution: Skip the test in the GUI. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1543 +Problem: Vim9: test with invalid SID is skipped in the GUI. +Solution: Read the CTRL-C that feedkeys() put in typeahead. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1544 +Problem: Cannot translate messages in a Vim script. +Solution: Add gettext(). Try it out for a few messages in the options + window. +Files: Filelist, src/po/Makefile, src/po/README.txt, runtime/optwin.vim, + src/evalfunc.c, src/po/tojavascript.vim, src/po/fixfilenames.vim, + runtime/doc/eval.txt, runtime/doc/usr_41.txt + +Patch 8.2.1545 +Problem: ch_logfile() is unclear about closing when forking. +Solution: Adjust the log messages. +Files: src/channel.c, src/os_unix.c + +Patch 8.2.1546 +Problem: Build rule for Vim.app is unused. +Solution: Delete the related build rules. +Files: src/Makefile + +Patch 8.2.1547 +Problem: Various comment problems. +Solution: Update comments. +Files: src/arglist.c, src/map.c, src/mbyte.c, src/tag.c, src/undo.c, + src/testdir/README.txt, src/testdir/test_put.vim, + src/libvterm/README + +Patch 8.2.1548 +Problem: Cannot move position of "%%" in message translations. (Emir Sarı) +Solution: Improve the check script. +Files: src/po/check.vim + +Patch 8.2.1549 +Problem: The "r" command fails for keys with modifiers if 'esckeys' is off + and modifyOtherKeys is used. (Lauri Tirkkonen) +Solution: Temporarily disable bracketed paste and modifyOtherKeys if + 'esckeys' is off. (closes #6809) +Files: src/normal.c + +Patch 8.2.1550 +Problem: Vim9: bufname('%') gives an error. +Solution: Only give an error for wrong argument type. (closes #6807) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1551 +Problem: Vim9: error for argument type does not mention the number. +Solution: Pass the argument number to where the error is given. +Files: src/vim9type.c, src/proto/vim9type.pro, src/vim9compile.c, + src/vim9execute.c, src/vim9script.c, src/eval.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1552 +Problem: Warnings from asan with clang-11. (James McCoy) +Solution: Avoid using a NULL pointer. (issue #6811) +Files: src/fold.c + +Patch 8.2.1553 (after 8.2.1552) +Problem: Crash in edit test. +Solution: Avoid using invalid pointer. +Files: src/fold.c + +Patch 8.2.1554 +Problem: Crash in normal test. +Solution: Skip adjusting marks if there are no folds. +Files: src/fold.c + +Patch 8.2.1555 +Problem: Not all tests are executed on Github Actions. +Solution: Copy "src" to "src2" earlier. Recognize "src2" in a couple more + places. Add two tests to the list of flaky tests. (Ken Takata, + closes #6798) +Files: .github/workflows/ci-windows.yaml, src/testdir/runtest.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1556 +Problem: Cursorline highlighting always overrules sign highlighting. +Solution: Combine the highlighting, use the priority to decide how. + (closes #6812) +Files: runtime/doc/sign.txt, src/structs.h, src/drawline.c, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + src/testdir/test_signs.vim, + src/testdir/dumps/Test_sign_cursor_5.dump, + src/testdir/dumps/Test_sign_cursor_6.dump + +Patch 8.2.1557 +Problem: Crash in :vimgrep when started as "vim -n". (Raul Segura) +Solution: Check mfp pointer. (Yegappan Lakshmanan, closes #6827) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1558 +Problem: Signs test fails. +Solution: Add missing change to sign.c. +Files: src/sign.c + +Patch 8.2.1559 +Problem: s390x tests work again. +Solution: re-enable s390x tests. (James McCoy, closes #6829) +Files: .travis.yml + +Patch 8.2.1560 +Problem: Using NULL pointers in some code. (James McCoy) +Solution: Avoid adding to a NULL pointer. Use byte as unsigned. +Files: src/fold.c, src/eval.c, src/spellsuggest.c, src/spellfile.c, + src/vim9compile.c + +Patch 8.2.1561 +Problem: Using NULL pointers in fold code. +Solution: Avoid using a NULL pointer. (Dominique Pellé, closes #6831, + closes #6831) +Files: src/fold.c + +Patch 8.2.1562 +Problem: Vim9: error when using "%" where a buffer is expected. +Solution: Add tv_get_buf_from_arg(). (closes #6814) +Files: src/typval.c, src/proto/typval.pro, src/evalbuffer.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1563 +Problem: Vim9: error when using '%" with setbufvar() or getbufvar(). +Solution: Use tv_get_buf_from_arg(). (closes #6816) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1564 +Problem: A few remaining errors from ubsan. +Solution: Avoid the warnings. (Dominique Pellé, closes #6837) +Files: src/spellfile.c, src/spellsuggest.c, src/viminfo.c + +Patch 8.2.1565 +Problem: Spellfile test sometimes fails. +Solution: Check running into the end of the file. +Files: src/spellfile.c + +Patch 8.2.1566 +Problem: Not all Bazel files are recognized. +Solution: Add *.bazel and *.BUILD. (closes #6836) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1567 +Problem: No example to use ubsan with clang. +Solution: Add example commands. (Dominique Pellé, issue #6811) +Files: src/Makefile + +Patch 8.2.1568 +Problem: prop_find() skips properties in the same line if "skipstart" is + used. +Solution: Use "continue" instead of "break". (closes #6840) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1569 +Problem: Vim9: fixes for functions not tested; failure in getchangelist(). +Solution: Add tests. (closes #6813, closes #6815, closes #6817) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1570 +Problem: Configure check for dirfd() does not work on HPUX. (Michael Osipov) +Solution: Use AC_TRY_LINK instead of AC_TRY_COMPILE. (closes #6838) +Files: src/configure.ac, src/auto/configure, src/fileio.c, src/globals.h + +Patch 8.2.1571 +Problem: Vim9: count() third argument cannot be "true". +Solution: Use tv_get_bool_chk(). (closes #6818) +Files: src/typval.c, src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1572 +Problem: Vim9: expand() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6819) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1573 +Problem: Vim9: getreg() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6820) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1574 +Problem: Vim9: glob() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6821) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1575 +Problem: Vim9: globpath() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6821) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1576 +Problem: Vim9: index() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6823) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1577 +Problem: Vim9: hasmapto(), mapcheck() and maparg() do not take "true" as + argument. +Solution: Use tv_get_bool(). (closes #6822, closes #6824) +Files: src/evalfunc.c, src/map.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1578 +Problem: Vim9: popup_clear() does not take "true" as argument. +Solution: Use tv_get_bool(). (closes #6826) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1579 +Problem: Reports from asan are not optimal. +Solution: Use clang with ubsan. (James McCoy, closes #6811) +Files: .travis.yml + +Patch 8.2.1580 +Problem: Wildmenu does not work properly. +Solution: Do not call may_do_incsearch_highlighting() if completion is in + progress. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_1.dump, + src/testdir/dumps/Test_wildmenu_2.dump, + src/testdir/dumps/Test_wildmenu_3.dump, + src/testdir/dumps/Test_wildmenu_4.dump + +Patch 8.2.1581 +Problem: Using line() for global popup window doesn't work. +Solution: Set tabpage to "curtab". (closes #6847) +Files: src/evalwindow.c, src/testdir/test_popupwin.vim + +Patch 8.2.1582 +Problem: The channel log does not show typed text. +Solution: Add raw typed text to the log file. +Files: src/ui.c, src/os_win32.c + +Patch 8.2.1583 +Problem: MS-Windows: cannot easily measure code coverage. +Solution: Add the COVERAGE option. (Ken Takata, closes #6842) +Files: src/Make_cyg_ming.mak + +Patch 8.2.1584 +Problem: Vim9: cannot use "true" for "skipstart" in prop_find(). +Solution: Use dict_get_bool() instead of tv_get_number(). (closes #6852) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1585 +Problem: Messages in errors.h not translated, xgettext on MS-Windows not + fully supported. +Solution: Add errors.h to list of input files. Update MS-Windows makefiles + to improve message translations. (Ken Takata, closes #6858) +Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak, + src/po/Makefile, src/po/README.txt, src/po/fixfilenames.vim + +Patch 8.2.1586 +Problem: :resize command not fully tested. +Solution: Add a couple of tests. (Dominique Pellé, closes #6857) +Files: src/testdir/test_window_cmd.vim + +Patch 8.2.1587 +Problem: Loop for handling keys for the command line is too long. +Solution: Move wild menu handling to separate functions. (Yegappan + Lakshmanan, closes #6856) +Files: src/cmdexpand.c, src/proto/cmdexpand.pro, src/ex_getln.c + +Patch 8.2.1588 +Problem: Cannot read back the prompt of a prompt buffer. +Solution: Add prompt_getprompt(). (Ben Jackson, closes #6851) +Files: runtime/doc/channel.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/channel.c, src/edit.c, src/evalfunc.c, + src/proto/channel.pro, src/proto/edit.pro, + src/testdir/test_prompt_buffer.vim + +Patch 8.2.1589 +Problem: Term_start() options for size are overruled by 'termwinsize'. + (Sergey Vlasov) +Solution: Set 'termwinsize' to the specified size. +Files: src/terminal.c, src/testdir/test_terminal2.vim, + src/testdir/term_util.vim + +Patch 8.2.1590 +Problem: Vim9: bufnr() doesn't take "true" argument. +Solution: use tv_get_bool_chk(). (closes #6863) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1591 +Problem: Using winheight('.') in tests works but is wrong. +Solution: Use winheight(0). (issue #6863) +Files: src/testdir/test_functions.vim, src/testdir/test_quickfix.vim + +Patch 8.2.1592 +Problem: Vim9: passing "true" to char2nr() fails. +Solution: Use tv_get_bool_chk(). (closes #6865) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1593 +Problem: Tests do not check the error number properly.0 +Solution: Add a colon after the error number. (closes #6869) +Files: src/testdir/test_assert.vim, src/testdir/test_autocmd.vim, + src/testdir/test_backspace_opt.vim, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_const.vim, src/testdir/test_cscope.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, + src/testdir/test_global.vim, src/testdir/test_gui.vim, + src/testdir/test_hlsearch.vim, src/testdir/test_lambda.vim, + src/testdir/test_let.vim, src/testdir/test_listdict.vim, + src/testdir/test_move.vim, src/testdir/test_normal.vim, + src/testdir/test_popupwin.vim, src/testdir/test_put.vim, + src/testdir/test_quickfix.vim, src/testdir/test_rename.vim, + src/testdir/test_search.vim, src/testdir/test_signs.vim, + src/testdir/test_substitute.vim, src/testdir/test_syntax.vim, + src/testdir/test_tagfunc.vim, src/testdir/test_tagjump.vim, + src/testdir/test_taglist.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal2.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim, src/testdir/test_true_false.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_vimscript.vim, + src/testdir/test_winbar.vim, src/testdir/test_winbuf_close.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim + +Patch 8.2.1594 +Problem: Pull requests on github do not notify a maintainer. +Solution: Add a CODEOWNERS file with a few initial entries. +Files: Filelist, .github/CODEOWNERS + +Patch 8.2.1595 +Problem: Cannot easily see what Vim sends to the terminal. +Solution: Write output to the channel log if it contains terminal control + sequences. Avoid warnings for tputs() argument. +Files: src/term.c, src/globals.h, src/edit.c, src/normal.c, + src/optionstr.c + +Patch 8.2.1596 +Problem: Using win_screenpos('.') in tests works but is wrong. +Solution: Use win_screenpos(0). +Files: src/testdir/test_terminal3.vim + +Patch 8.2.1597 +Problem: The channel source file is too big. +Solution: Move job related code to a new source file. +Files: Filelist, src/Makefile, src/Make_mvc.mak, src/Make_cyg_ming.mak, + src/channel.c, src/proto/channel.pro, src/job.c, + src/proto/job.pro, src/proto.h, src/edit.c, src/proto/edit.pro, + src/globals.h, src/configure.ac, src/auto/configure + +Patch 8.2.1598 +Problem: Starting a hidden terminal resizes the current window. +Solution: Do not resize the current window for a hidden terminal. + (closes #6872) +Files: src/terminal.c, src/testdir/test_terminal2.vim + +Patch 8.2.1599 +Problem: Missing line end when skipping a long line with :cgetfile. +Solution: Fix off-by-one error. (closes #6870) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1600 +Problem: Vim9: cannot use "true" with deepcopy(). +Solution: Use tv_get_bool_chk(). (closes #6867) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/test_listdict.vim + +Patch 8.2.1601 +Problem: Vim9: cannot use "true" with garbagecollect(). +Solution: Use tv_get_bool(). (closes #6871) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1602 +Problem: Vim9: cannot use "true" with getbufinfo(). +Solution: Use dict_get_bool(). (closes #6873) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1603 +Problem: Vim9: cannot use "true" with getchar(). +Solution: use tv_get_bool_chk(). (closes #6874) +Files: src/getchar.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1604 +Problem: Vim9: cannot use "true" with getcompletion(). +Solution: use tv_get_bool_chk(). (closes #6875) +Files: src/cmdexpand.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1605 +Problem: Default maintainer on github is wrong. +Solution: Use Bram's account. +Files: .github/CODEOWNERS + +Patch 8.2.1606 +Problem: Vim9: cannot use "true" with has(). +Solution: Use tv_get_bool(). (closes #6876) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1607 +Problem: Vim9: getchar() test fails on MS-Windows. +Solution: First consume any available input. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1608 +Problem: Vim9: getchar() test fails with GUI. +Solution: Avoid that getchar(0) gets stuck on K_IGNORE. +Files: src/getchar.c + +Patch 8.2.1609 +Problem: Vim9: test fails when build without +channel. +Solution: Add check for +channel. (closes #6879) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1610 +Problem: Vim9: cannot pass "true" to list2str() and str2list(). +Solution: Use tv_get_bool_chk(). (closes #6877) +Files: src/evalfunc.c, src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1611 +Problem: Vim9: cannot pass "true" to nr2char(). +Solution: use tv_get_bool_chk(). (closes #6878) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1612 +Problem: Vim9: cannot pass "true" to prop_remove(). +Solution: Use dict_get_bool(). (closes #6853) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1613 +Problem: Vim9: cannot pass "true" to prop_type_add(). +Solution: Use tv_get_bool(). (closes #6850) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1614 +Problem: Vim9: cannot pass "true" to searchcount(). +Solution: Use tv_get_bool_chk(). (closes #6854) +Files: src/search.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1615 +Problem: Vim9: cannot pass "true" to searchdecl(). +Solution: use tv_get_bool_chk(). (closes #6881) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1616 +Problem: Vim9: cannot pass "true" to synID(). +Solution: Use tv_get_bool_chk(). (closes #6860) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1617 +Problem: Vim9: cannot pass "true" to win_splitmove(). +Solution: Use dict_get_bool(). (closes #6862) Alphabetize test functions. +Files: src/evalwindow.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1618 +Problem: Vim9: cannot pass "true" to setloclist(). +Solution: Use dict_get_bool(). (closes #6882) +Files: src/quickfix.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1619 +Problem: Vim9: cannot pass "true" to spellsuggest(). +Solution: Use tv_get_bool_chk(). (closes #6883) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1620 +Problem: searchcount() test fails. +Solution: Restore default flag value. +Files: src/search.c + +Patch 8.2.1621 +Problem: Crash when using submatch(0, 1) in substitute(). +Solution: Increment reference count. (closes #6887) +Files: src/regexp.c, src/testdir/test_substitute.vim + +Patch 8.2.1622 +Problem: Loop to handle keys for the command line is too long. +Solution: Move code to functions. (Yegappan Lakshmanan, closes #6880) +Files: src/ex_getln.c + +Patch 8.2.1623 +Problem: Vim9: using :call where it is not needed. +Solution: Remove :call. (closes #6892) +Files: src/testdir/test_maparg.vim, src/testdir/test_textprop.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1624 +Problem: Vim9: cannot pass "true" to split(), str2nr() and strchars(). +Solution: Use tv_get_bool_chk(). (closes #6884, closes #6885, closes #6886) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1625 +Problem: Compiler warning for use of fptr_T. +Solution: Make the type less strict. +Files: src/regexp.c + +Patch 8.2.1626 +Problem: Test for strchars() fails with different error number. +Solution: Adjust the error number. +Files: src/testdir/test_utf8.vim + +Patch 8.2.1627 +Problem: Vim9: cannot pass "true" to submatch(), term_gettty() and + term_start() +Solution: Use tv_get_bool_chk(). (closes #6888, closes #6890, closes #6889) +Files: src/evalfunc.c, src/terminal.c, src/job.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1628 +Problem: Vim9: cannot pass "true" to timer_paused(). +Solution: Use tv_get_bool(). (closes #6891) +Files: src/time.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1629 +Problem: Test fails without terminal feature. +Solution: Check for terminal feature. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1630 +Problem: Terminal test fails. +Solution: Correct argument to term_start(). Correct error number. +Files: src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim + +Patch 8.2.1631 +Problem: test_fails() does not check the context of the line number. +Solution: Use another argument to specify the context of the line number. +Files: runtime/doc/testing.txt, runtime/doc/eval.txt, + src/testdir/test_vim9_func.vim, src/testing.c, src/globals.h, + src/evalfunc.c, src/message.c + +Patch 8.2.1632 +Problem: Not checking the context of test_fails(). +Solution: Add the line number and context arguments. Give error if + assert_fails() argument types are wrong. +Files: src/testing.c, src/errors.h, src/testdir/test_assert.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1633 +Problem: Some error messages are internal but do not use iemsg(). +Solution: Use iemsg(). (Dominique Pellé, closes #6894) +Files: src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c + +Patch 8.2.1634 +Problem: Loop to handle keys for the command line is too long. +Solution: Move a few more parts to separate functions. (Yegappan Lakshmanan, + closes #6895) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.1635 +Problem: No digraph for 0x2022 BULLET. +Solution: Use "oo". (Hans Ginzel, closes #6904) +Files: src/digraph.c, runtime/doc/digraph.txt + +Patch 8.2.1636 +Problem: Get stuck if a popup filter causes an error. +Solution: Check whether the function can be called and does not cause an + error. (closes #6902) +Files: src/structs.h, src/popupwin.c, src/testdir/test_popupwin.vim + src/testdir/dumps/Test_popupwin_wrong_name.dump, + src/testdir/dumps/Test_popupwin_three_errors_1.dump, + src/testdir/dumps/Test_popupwin_three_errors_2.dump + +Patch 8.2.1637 +Problem: Vim9: :put ={expr} does not work inside :def function. +Solution: Add ISN_PUT. (closes #6397) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/register.c, + src/proto/register.pro, src/edit.c, src/ex_docmd.c, src/mouse.c, + src/normal.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1638 +Problem: Leaking memory when popup filter function can't be called. +Solution: Don't return too soon. +Files: src/popupwin.c + +Patch 8.2.1639 +Problem: Options window cannot be translated. +Solution: Get the translation for "local to" texts once and use them in many + places. Fix that 'whichwrap' is not a local option. (issue #6800) +Files: runtime/optwin.vim + +Patch 8.2.1640 +Problem: Amiga: missing header for getgrgid(). +Solution: Add the grp.h header. (Ola Söder, closes #6906) +Files: src/os_amiga.h + +Patch 8.2.1641 +Problem: Vim9: cannot use 0 or 1 where a bool is expected. +Solution: Allow using 0 and 1 for a bool type. (closes #6903) +Files: src/vim9compile.c, src/vim9type.c, src/proto/vim9type.pro, + src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1642 +Problem: Options test fails. +Solution: Correct call to OptionG(). +Files: runtime/optwin.vim + +Patch 8.2.1643 +Problem: Vim9: :defcompile compiles dead functions. +Solution: Skip over dead functions. +Files: src/userfunc.c + +Patch 8.2.1644 +Problem: Vim9: cannot assign 1 and 0 to bool at script level. +Solution: Add the TTFLAG_BOOL_OK flag to the type. Fix name of test + function. +Files: src/vim9type.c, src/testdir/test_vim9_script.vim, + src/testdir/vim9.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.1645 +Problem: GTK3: icons become broken images when resized. +Solution: Use gtk_image_new_from_icon_name(). (closes #6916) + Fix compiler warnings. +Files: src/gui_gtk_x11.c + +Patch 8.2.1646 +Problem: Amiga: Unnecessary #include. +Solution: Remove the #include. (Ola Söder, closes #6908) +Files: src/version.c + +Patch 8.2.1647 +Problem: Vim9: result of expression with && and || cannot be assigned to a + bool variable. +Solution: Add the TTFLAG_BOOL_OK flag and convert the value if needed. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1648 +Problem: Amiga: no common build file for Amiga (-like) systems. +Solution: Turn Make_morph.mak into Make_ami.mak. (Ola Söder, closes #6805) +Files: Filelist, src/Make_ami.mak, src/Make_morph.mak, src/INSTALLami.txt + +Patch 8.2.1649 +Problem: GTK3: using old file chooser. +Solution: Use native file chooser on GTK 3.20 and above. (Yogeshwar + Velingker, closes #6909) +Files: src/gui_gtk.c + +Patch 8.2.1650 +Problem: Vim9: result of && and || expression cannot be assigned to a bool + at the script level. +Solution: Add the VAR_BOOL_OK flag. Convert to bool when needed. +Files: src/structs.h, src/vim9type.c, src/proto/vim9type.pro, + src/vim9script.c, src/evalvars.c, src/eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1651 +Problem: Spellfile code not completely tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6918) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1652 +Problem: Cannot translate lines in the options window. +Solution: Use the AddOption() function to split descriptions where indicated + by a line break. (issue #6800) +Files: runtime/optwin.vim + +Patch 8.2.1653 +Problem: Expand('<stack>') does not include the final line number. +Solution: Add the line nuber. (closes #6927) +Files: src/vim.h, src/scriptfile.c, src/proto/scriptfile.pro, + src/debugger.c, src/ex_docmd.c, src/ex_eval.c, src/message.c, + src/testing.c, src/testdir/test_expand_func.vim + +Patch 8.2.1654 +Problem: When job writes to hidden buffer current window has display + errors. (Johnny McArthur) +Solution: Use aucmd_prepbuf() instead of switch_to_win_for_buf(). + (closes #6925) +Files: src/channel.c + +Patch 8.2.1655 +Problem: Cannot build with Strawberry Perl 5.32.0. +Solution: Use Perl_sv_2pvbyte_flags. (closes #6921) +Files: src/if_perl.xs + +Patch 8.2.1656 +Problem: Vim9: callstack wrong if :def function calls :def function. +Solution: Set the line number before calling. (closes #6914) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1657 +Problem: Vim9: no proper error for nested ":def!". +Solution: Check for "!". (closes #6920) +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1658 +Problem: Expand('<stack>') has trailing "..". +Solution: Remove the "..". (closes #6927) +Files: src/scriptfile.c, src/testdir/test_expand_func.vim + +Patch 8.2.1659 +Problem: Spellfile code not completely tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6929) +Files: src/testdir/test_spell.vim, src/testdir/test_spellfile.vim + +Patch 8.2.1660 +Problem: Assert functions require passing expected result as the first + argument, which isn't obvious. +Solution: Use a method, as in "runtest()->assert_equal(expected)". +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1661 +Problem: Cannot connect to 127.0.0.1 for host with only IPv6 addresses. +Solution: pass AI_V4MAPPED flag to getaddrinfo. (Filipe Brandenburger, + closes #6931) +Files: src/channel.c + +Patch 8.2.1662 +Problem: :mksession does not restore shared terminal buffer properly. +Solution: Keep a hashtab with terminal buffers. (Rob Pilling, closes #6930) +Files: src/hashtab.c, src/proto/terminal.pro, src/session.c, + src/terminal.c, src/testdir/test_mksession.vim + +Patch 8.2.1663 +Problem: Options window entries cannot be translated. +Solution: Use AddOption() for all explanations. (closes #6800) +Files: runtime/optwin.vim + +Patch 8.2.1664 +Problem: Memory leak when using :mkview with a terminal buffer. +Solution: Don't use a hastab for :mkview. (Rob Pilling, closes #6935) +Files: src/session.c, src/terminal.c, src/testdir/test_mksession.vim + +Patch 8.2.1665 +Problem: Cannot do fuzzy string matching. +Solution: Add matchfuzzy(). (Yegappan Lakshmanan, closes #6932) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/search.pro, src/search.c, src/testdir/test_functions.vim + +Patch 8.2.1666 +Problem: The initial value of 'backupskip' can have duplicate items. +Solution: Remove duplicates, like when it is set later. (Tom Ryder, + closes #6940) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.2.1667 +Problem: Local function name cannot shadow a global function name. +Solution: Ignore global functions when checking a script-local or scoped + function name. (closes #6926) +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.1668 +Problem: Vim9: not accepting 0 or 1 as bool when type is any. +Solution: Convert the type with the CHECKTYPE instruction. (closes #6913) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1669 +Problem: Vim9: memory leak when storing a value fails. +Solution: Free the value when not storing it. +Files: src/evalvars.c + +Patch 8.2.1670 +Problem: A couple of gcc compiler warnings. +Solution: Initialize local variables. (Dominique Pellé, closes #6944) +Files: src/memline.c, src/option.c + +Patch 8.2.1671 +Problem: Vim9: stray error for missing white space. +Solution: Do not skip over white space after member. (closes #6817) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1672 +Problem: v_lock is used when it is not initialized. (Yegappan Lakshmanan) +Solution: Initialize the typval in eval1(). +Files: src/eval.c + +Patch 8.2.1673 +Problem: complete_info() selected index has an invalid value. (Ben Jackson) +Solution: Set the index when there is only one match. (closes #6945) + Add test for complete_info(). +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1674 +Problem: Vim9: internal error when using variable that was not set. +Solution: Give a meaningful error. (closes #6937) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1675 +Problem: MinGW: testdir makefile deletes non-existing file. +Solution: Use another way to delete the output file if it already exists. + (Michael Soyka) +Files: src/testdir/Make_ming.mak + +Patch 8.2.1676 +Problem: Compiler warnings for function typecast. +Solution: Add an intermediate cast to "void *". +Files: src/os_unix.c + +Patch 8.2.1677 +Problem: Memory access errors when calling setloclist() in an autocommand. +Solution: Give an error if the list was changed unexpectedly. (closes #6946) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1678 +Problem: Crash when using ":set" after ":ownsyntax". (Dhiraj Mishra) +Solution: Make sure 'spelloptions' is not NULL. (closes #6950) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.1679 +Problem: Vim9: ":*" is not recognized as a range. +Solution: Move recognizing "*" into skip_range(). (closes #6838) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/cmdexpand.c, + src/ex_getln.c, src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1680 +Problem: Vim9: line number for compare error is wrong. +Solution: Set SOURCING_LNUM. (closes #6936) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1681 +Problem: Vim9: unnessary :call commands in tests. +Solution: Remove the commands. (issue #6936) +Files: src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1682 +Problem: Vim9: const works in an unexpected way. +Solution: ":const" only disallows changing the variable, not the value. + Make "list[0] = 9" work at the script level. +Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1683 +Problem: Vim9: assignment test fails. +Solution: Include changes to find Ex command. +Files: src/ex_docmd.c + +Patch 8.2.1684 +Problem: "gF" does not use line number after file in Visual mode. +Solution: Look for ":123" after the Visual area. (closes #6952) +Files: src/findfile.c, src/testdir/test_gf.vim + +Patch 8.2.1685 +Problem: Vim9: cannot declare a constant value. +Solution: Introduce ":const!". +Files: runtime/doc/vim9.txt, src/ex_cmds.h, src/vim9compile.c, + src/vim9.h, src/vim9execute.c, src/evalvars.c, + src/proto/evalvars.pro, src/errors.h, src/vim.h, src/eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1686 +Problem: Vim9: "const!" not sufficiently tested. +Solution: Add a few more test cases. Fix type checking. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1687 +Problem: Vim9: out of bounds error. +Solution: Check that cmdidx is not negative. +Files: src/vim9compile.c + +Patch 8.2.1688 +Problem: Increment/decrement removes text property. +Solution: Insert the new number before deleting the old one. (closes #6962) +Files: src/ops.c, src/testdir/test_textprop.vim + +Patch 8.2.1689 +Problem: 'colorcolumn' doesn't show in indent. +Solution: Also draw the column when draw_state is WL_BRI or WL_SBR. + (Alexey Demin, closes #6948, closes #6619) +Files: src/drawline.c, src/testdir/dumps/Test_colorcolumn_2.dump, + src/testdir/dumps/Test_colorcolumn_3.dump, + src/testdir/test_highlight.vim + +Patch 8.2.1690 +Problem: Text properties not adjusted for "I" in Visual block mode. +Solution: Call inserted_bytes(). (closes #6961) +Files: src/ops.c, src/change.c, src/proto/change.pro, + src/testdir/test_textprop.vim + +Patch 8.2.1691 +Problem: Vim9: list<any> is not accepted where list<number> is expected. +Solution: Add functions to allocate and free a type_T, use it in + ISN_CHECKTYPE. (closes #6959) +Files: src/vim9.h, src/globals.h, src/vim9compile.c, src/vim9execute.c, + src/vim9type.c, src/proto/vim9type.pro, src/errors.h, + src/evalfunc.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1692 +Problem: Build fails because TTFLAG_STATIC is missing. +Solution: Include missing change. +Files: src/structs.h + +Patch 8.2.1693 +Problem: "hi def" does not work for cleared highlight. +Solution: Check the "sg_cleared" flag. (Maxim Kim, closes #6956, + closes #4405) +Files: src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.1694 +Problem: Compiler warning for loss if data. +Solution: Add typecast. +Files: src/ops.c + +Patch 8.2.1695 +Problem: Vim9: crash when using varargs type "any". +Solution: Check if uf_va_type is &t_any. (closes #6957) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1696 +Problem: Unused (duplicate) macros. +Solution: Remove the macros. +Files: src/spell.c + +Patch 8.2.1697 +Problem: Inconsistent capitalization of error messages. +Solution: Always start with a capital. +Files: src/errors.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim, + src/testdir/test_assert.vim + +Patch 8.2.1698 +Problem: Cannot lock a variable in legacy Vim script like in Vim9. +Solution: Make ":lockvar 0" work. +Files: runtime/doc/eval.txt, src/evalvars.c, src/proto/evalvars.pro, + src/dict.c, src/eval.c, src/list.c, src/typval.c, src/userfunc.c, + src/testdir/test_const.vim, src/testdir/test_listdict.vim + +Patch 8.2.1699 +Problem: Build failure due to missing error message. +Solution: Add error message. +Files: src/errors.h + +Patch 8.2.1700 +Problem: Vim9: try/catch causes wrong value to be returned. +Solution: Reset tcd_return. (closes #6964) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1701 +Problem: Vim9: sort("i") does not work. +Solution: Don't try getting a number for a string argument. (closes #6958) +Files: src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1702 +Problem: Crash when using undo after deleting folded lines. +Solution: Check for NULL pointer. (closes #6968) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.1703 +Problem: ":highlight clear" does not restore default link. +Solution: Remember the default link and restore it. (Antony Scriven, + closes #6970, closes #4405) +Files: runtime/doc/syntax.txt, src/highlight.c, + src/testdir/test_highlight.vim + +Patch 8.2.1704 +Problem: Vim9: crash in for loop when autoload script has an error. +Solution: Reset suppress_errthrow. Check for NULL list. (closes #6967) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1705 +Problem: "verbose hi Name" reports incorrect info after ":hi clear". +Solution: Store the script context. (Antony Scriven, closes #6975) +Files: src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.1706 +Problem: Vim9: crash after running into the "Multiple closures" error. +Solution: When a function fails still update any closures. (closes #6973) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1707 +Problem: Small inconsitency in highlight test. +Solution: Use one argument for :execute. (Antony Scriven, #6975) +Files: src/testdir/test_highlight.vim + +Patch 8.2.1708 +Problem: Vim9: error message for function has unpritable characters. +Solution: use printable_func_name(). (closes #6965) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1709 +Problem: Vim9: memory leak when using multiple closures. +Solution: Free the partial. +Files: src/vim9execute.c + +Patch 8.2.1710 +Problem: Vim9: list of list type can be wrong. +Solution: Use VAR_UNKNOWN for empty list. Recognize VAR_UNKNOWN when + looking for a common type. (closes #6979) +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1711 +Problem: Vim9: leaking memory when using partial. +Solution: Do delete the function even when it was compiled. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/vim9execute.c + +Patch 8.2.1712 +Problem: Vim9: leaking memory when calling a lambda. +Solution: Decrement function reference from ISN_DCALL. +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro + +Patch 8.2.1713 +Problem: Motif GUI: crash when setting menu colors. (Andrzej Bylicki) +Solution: Add {} to make "n" incremented correctly. (closes #6989, + closes #5948) +Files: src/gui_motif.c + +Patch 8.2.1714 +Problem: Text properties corrupted with substitute command. (Filipe + Brandenburger) +Solution: Get the changed line again after using u_savesub(). (closes #6984) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1715 +Problem: Motif GUI: commented out code missed {}. +Solution: Add {} and reenable the code. (similar to #6989) +Files: src/gui_motif.c + +Patch 8.2.1716 +Problem: Options window has duplicate translations. +Solution: Make one entry for "global or local to buffer". Fix wrong text. + (closes #6983) +Files: runtime/optwin.vim + +Patch 8.2.1717 +Problem: MS-Windows installer doesn't have Russian translations. +Solution: Add Russian translations. (closes #6985) +Files: nsis/gvim.nsi, nsis/lang/russian.nsi + +Patch 8.2.1718 +Problem: Vim9: :def function disallows "firstline" and "lastline" argument + names for no good reason. +Solution: Don't check the arguments for a :def function. (closes #6986) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1719 +Problem: Vim9: no error if comma is missing in between arguments. +Solution: Give an error message. +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1720 +Problem: Vim9: memory leak with heredoc that isn't executed. (Dominique + Pellé) +Solution: Don't clear the list items. (closes #6991) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1721 +Problem: MS-Windows installer doesn't work. +Solution: Write "Russian" in ASCII. (closes #6995, see #). +Files: nsis/lang/russian.nsi + +Patch 8.2.1722 +Problem: Vim9: cannot assign a lambda to a variable of type function. +Solution: Allow for assigning a partial to a variable of type function. + (Naruhiko Nishino, closes #6996) +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1723 +Problem: Vim9: Variable argument name cannot start with underscore. +Solution: Use eval_isnamec1(). (closes #6988) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1724 +Problem: Vim9: assignment tests spread out. +Solution: Create new test file for assignment tests. +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim, + src/testdir/Make_all.mak + +Patch 8.2.1725 +Problem: Not all Pascal files are recognized. +Solution: Add filetype patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1726 +Problem: Fuzzy matching only works on strings. +Solution: Support passing a dict. Add matchfuzzypos() to also get the match + positions. (Yegappan Lakshmanan, closes #6947) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/search.pro, src/search.c, src/testdir/Make_all.mak, + src/testdir/test_functions.vim, src/testdir/test_matchfuzzy.vim + +Patch 8.2.1727 +Problem: A popup created with "cursorline" will ignore "firstline". +Solution: When both "cursorline" and "firstline" are present put the cursor + on "firstline". (closes #7000) Add the "winid" argument to + getcurpos(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/popupwin.c, + src/evalwindow.c, src/testdir/test_popupwin.vim, + src/testdir/test_functions.vim + +Patch 8.2.1728 +Problem: Compiler warning for using uninitialized variable. (John Marriott) +Solution: Initialize "neighbor". +Files: src/search.c + +Patch 8.2.1729 +Problem: Endless loop when ":normal" feeds popup window filter. +Solution: Add the ex_normal_busy_done flag. +Files: src/globals.h, src/getchar.c, src/evalfunc.c, src/ex_docmd.c, + src/menu.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_normal_cmd.dump + +Patch 8.2.1730 +Problem: Vim9: cannot use member of unknown type. +Solution: When type is unknown us "any". (closes #6997) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1731 +Problem: Vim9: cannot use += to append to empty NULL list. +Solution: Copy the list instead of extending it. (closes #6998) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1732 +Problem: Stuck when win_execute() for a popup causes an error. +Solution: Disable the filter callback on error. (issue #6999) +Files: src/popupwin.c, src/testdir/term_util.vim, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_win_execute.dump + +Patch 8.2.1733 +Problem: Vim9: memory leaks when using nested function. +Solution: Free function when compilation fails. +Files: src/vim9compile.c + +Patch 8.2.1734 +Problem: Vim9: cannot use a funcref for a closure twice. +Solution: Instead of putting the funcref on the stack use a growarray on the + execution context. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1735 +Problem: Github actions appear to timeout too soon. +Solution: use "timeout" instead of "ping". +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1736 +Problem: Failure to compile a pattern not tested much. +Solution: Add tests where a pattern fails to compile. (Yegappan Lakshmanan, + closes #7004) +Files: src/testdir/gen_opt_test.vim, src/testdir/test_arglist.vim, + src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, + src/testdir/test_checkpath.vim, src/testdir/test_cmdline.vim, + src/testdir/test_debugger.vim, src/testdir/test_functions.vim, + src/testdir/test_history.vim, src/testdir/test_listdict.vim, + src/testdir/test_options.vim, src/testdir/test_search_stat.vim, + src/testdir/test_sort.vim, src/testdir/test_substitute.vim, + src/testdir/test_syntax.vim, src/testdir/test_tagjump.vim, + src/testdir/test_user_func.vim + +Patch 8.2.1737 +Problem: Cursor line highlight in popup window is not always updated. +Solution: Check if the cursor has moved. (closes #7010) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump + +Patch 8.2.1738 +Problem: Mac: str2float() recognizes comma instead of decimal point. +Solution: Set LC_NUMERIC to "C". (closes #7003) +Files: src/os_mac_conv.c + +Patch 8.2.1739 +Problem: Vim9: crash when compiling a manually defined function. (Antony + Scriven) +Solution: Check that the script ID is positive. (closes #7012) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1740 +Problem: Test fails without the terminal feature. +Solution: Skip test if the terminal feature is not available. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1741 +Problem: pathshorten() only supports using one character. +Solution: Add an argument to control the length. (closes #7006) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/filepath.c, + src/proto/filepath.pro, src/testdir/test_functions.vim + +Patch 8.2.1742 +Problem: Test still fails without the terminal feature. +Solution: Put check for terminal feature in separate function. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1743 +Problem: Cannot build without the eval feature. +Solution: Move shorten_dir outside of #ifdef. +Files: src/filepath.c + +Patch 8.2.1744 +Problem: Vim9: using ":const!" is weird. +Solution: Use "var" - "final" - "const" like Dart. "let" still works for + now. +Files: runtime/doc/vim9.txt, src/ex_cmds.h, src/errors.h, src/evalvars.c, + src/proto/evalvars.pro, src/cmdexpand.c, src/eval.c, + src/ex_docmd.c, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/vim.h, src/ex_cmdidxs.h, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1745 +Problem: Tiny version doesn't build. +Solution: Add dummy ex_var() function. +Files: src/ex_docmd.c + +Patch 8.2.1746 +Problem: Vim9: Cannot use "fina" for "finally". (Naruhiko Nishino) +Solution: Specifically check for "fina". (closes #7020) +Files: src/ex_docmd.c, src/testdir/test_trycatch.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1747 +Problem: Result of expand() unexpectedly depends on 'completeslash'. +Solution: Temporarily reset 'completeslash'. (Yasuhiro Matsumoto, + closes #7021) +Files: src/evalfunc.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1748 +Problem: Closing split window in other tab may cause a crash. +Solution: Set tp_curwin properly. (Rob Pilling, closes #7018) +Files: src/window.c, src/testdir/test_winbuf_close.vim + +Patch 8.2.1749 +Problem: Vim9: crash when closure fails in nested function. +Solution: Handle function returns before dereferencing remaining closures. + (closes #7008) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1750 +Problem: Setting firstline with popup_setoptions() fails if cursorline is + set. +Solution: Use apply_options(). Update the popup before applying "zz". + (closes #7010) +Files: src/popupwin.c, src/proto/popupwin.pro, src/move.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump, + src/testdir/dumps/Test_popupwin_set_firstline_1.dump, + src/testdir/dumps/Test_popupwin_set_firstline_2.dump + +Patch 8.2.1751 +Problem: Using 2 where bool is expected may throw an error. +Solution: Make this backwards compatible. +Files: src/typval.c, src/evalfunc.c, src/testdir/test_search.vim, + src/testdir/test_terminal2.vim + +Patch 8.2.1752 +Problem: GTK GUI: cannot map alt-? with <A-?>. (Ingo Karkat) +Solution: Adjust the characters for which the shift modifier is removed. + (closes #7016) Make Motif and Win32 use the same function as GTK. +Files: src/misc2.c, src/gui_x11.c, src/gui_w32.c, + src/testdir/test_termcodes.vim + +Patch 8.2.1753 +Problem: Vim9: crash when using import at script level. +Solution: Give a "not implemented yet" error. (closes #7026) +Files: src/evalvars.c + +Patch 8.2.1754 +Problem: Completion with spell checking not tested. +Solution: Add a test case. (Dominique Pellé, closes #7024) +Files: src/testdir/test_spell.vim + +Patch 8.2.1755 +Problem: Vim9: crash when using invalid heredoc marker. (Dhiraj Mishra) +Solution: Check for NULL list. (closes #7027) Fix comment character. +Files: src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.1756 +Problem: Vim9: :let will soon be disallowed. +Solution: Add v:disallow_let temporarily. Fix tests. +Files: src/vim.h, src/errors.h, src/evalvars.c, src/vim9compile.c, + src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1757 +Problem: Mac: default locale is lacking the encoding. +Solution: Add ".UTF-8 to the locale. (Yee Cheng Chin, closes #7022) +Files: src/os_mac_conv.c, src/testdir/test_environ.vim + +Patch 8.2.1758 +Problem: Vim9: type of unmaterialized list is wrong. +Solution: Use list<number>. +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1759 +Problem: Vim9: Some tests are still using :let. +Solution: Change more declarations to use :var. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1760 +Problem: Vim9: crash when end marker is missing. (Dhiraj Mishra) +Solution: Check for end of function lines. (closes #7031) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1761 +Problem: Vim9: Some tests are still using :let. +Solution: Change more declarations to use :var. +Files: src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1762 +Problem: When a timer uses :stopinsert Insert mode completion isn't + stopped. (Stanley Chan) +Solution: Call ins_compl_prep(ESC). +Files: src/edit.c, src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_pum_stopped_by_timer.dump + +Patch 8.2.1763 +Problem: Vim9: cannot use "true" for popup window scrollbar option. +Solution: use dict_get_bool(). (closes #7029) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1764 +Problem: Vim9: no error when assigning to script var with wrong type. +Solution: Fix off-by-one error. (closes #7028) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1765 +Problem: Vim9: some tests use "var var". +Solution: Use "var name". (closes #7032) +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.1766 +Problem: Vim9: Some tests are still using :let. +Solution: Change the last few declarations to use :var. +Files: src/testdir/runtest.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_maparg.vim, + src/testdir/test_popupwin.vim, src/testdir/test_textprop.vim + +Patch 8.2.1767 +Problem: Vim9: test fails with python support. +Solution: Use "let" in legacy function. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1768 +Problem: Cannot use the help menu from a terminal window. +Solution: Add ":tlnoremenu" commands. (Yee Cheng Chin, closes #7023) +Files: runtime/menu.vim, src/testdir/test_gui.vim + +Patch 8.2.1769 +Problem: A popup filter interferes with using :normal to move the cursor in + a popup. +Solution: Do not invoke the filter when ex_normal_busy is set. +Files: runtime/doc/popup.txt, src/getchar.c, src/evalfunc.c, + src/ex_docmd.c, src/menu.c, src/globals.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_normal_cmd.dump + +Patch 8.2.1770 +Problem: Invalid memory use when using SpellFileMissing autocmd. +Solution: Add test case. (Dominique Pellé, closes #7036) Fix using a window + that was closed. +Files: src/spell.c, src/testdir/test_spell.vim + +Patch 8.2.1771 +Problem: synIDattr() cannot get the value of ctermul. +Solution: Add the "ul" value for "what". (closes #7037) +Files: runtime/doc/eval.txt, src/highlight.c, src/evalfunc.c, + src/testdir/test_highlight.vim + +Patch 8.2.1772 +Problem: Cannot use CTRL-W <Down> to move out of a terminal window. +Solution: Use special_to_buf() instead of mb_char2bytes(). (closes #7045) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.1773 +Problem: Crash when calling mapset() with a list as first argument. +Solution: Check for NULL. (closes #7040) +Files: src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.1774 +Problem: GTK: hang when forced to exit. +Solution: Do not clean up "mainwin" when really_exiting is set. + (Zdenek Dohnal, closes #7042) +Files: src/gui_gtk_x11.c + +Patch 8.2.1775 +Problem: MS-Windows: adding a long quickfix list is slow. +Solution: Shorten the buffer name only for the first entry. (Yegappan + Lakshmanan, closes #7039, closes #7033) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1776 +Problem: Filetype.vim may be loaded twice. +Solution: Do "syntax on" after "filetype on". (Adam Stankiewicz, + closes #7049) +Files: runtime/defaults.vim + +Patch 8.2.1777 +Problem: Vim9: some assignment tests in the wrong file. +Solution: Move assignment tests to test_vim9_assign. +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1778 +Problem: Vim9: returning from a partial call clears outer context, causing + a crash. +Solution: Put the outer context in the stack frame. (closes #7044) +Files: src/vim9execute.c, src/vim9.h, src/testdir/test_vim9_func.vim + +Patch 8.2.1779 +Problem: Some debian changelog files are not recognized. +Solution: Add */debian/changelog. (Jason Franklin) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1780 +Problem: Statusline not updated when splitting windows. +Solution: Call status_redraw_all(). (Jason Franklin, closes #5496) +Files: src/window.c, src/testdir/test_statusline.vim + +Patch 8.2.1781 +Problem: Writing to prompt buffer interferes with insert mode. +Solution: Use win_enter() instead of just setting "curwin". (Ben Jackson, + closes #7035) +Files: src/autocmd.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.1782 +Problem: Vim9: cannot pass boolean to mapset(). +Solution: Use get_tv_bool(). (closes #7041) +Files: src/map.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1783 (after 8.2.1781) +Problem: Try-catch test fails. +Solution: Don't call win_enter(), only call enterering_window(). +Files: src/autocmd.c, src/window.c, src/proto/window.pro, + src/testdir/runtest.vim + +Patch 8.2.1784 +Problem: commits are not scanned for security problems +Solution: Enable Github code scanning. (Christian Brabandt, closes #7057) +Files: .github/workflows/codeql-analysis.yml + +Patch 8.2.1785 +Problem: Compiler warning for strcpy() out of bounds. (Christian Brabandt) +Solution: use memmove() instead. +Files: src/dict.c + +Patch 8.2.1786 +Problem: Various Normal mode commands not fully tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #7059) +Files: src/testdir/test_normal.vim, src/testdir/test_regexp_utf8.vim, + src/testdir/test_registers.vim, src/testdir/test_spellfile.vim, + src/testdir/test_tagjump.vim, src/testdir/test_visual.vim + +Patch 8.2.1787 +Problem: Crash with 'incsearch' and very long line. +Solution: Check whether regprog becomes NULL. (closes #7063) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.2.1788 +Problem: Vim9: still allows :let for declarations. +Solution: Make the default for v:disallow_let one. It can still be set to + zero to allow for using :let. +Files: src/evalvars.c, src/testdir/runtest.vim + +Patch 8.2.1789 +Problem: Vim9: crash with invalid list constant. (Dhiraj Mishra) +Solution: Return FAIL when compiling the list fails. (closes #7066) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.1790 +Problem: MS-Windows with Python: crash when executed from Vifm. +Solution: Use NUL instead of CONIN. (Ken Takata, closes #7061, closes #7053) +Files: src/if_python3.c + +Patch 8.2.1791 +Problem: Vim9: debugger test fails. +Solution: Use "var" instead of "let". +Files: src/testdir/test_debugger.vim + +Patch 8.2.1792 +Problem: Configure does not recognize Racket 6.1+. +Solution: Add a check for "rktio". (closes #7062) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1793 +Problem: Not consistently giving the "is a directory" warning. +Solution: Adjust check for illegal file name and directory. (Yasuhiro + Matsumoto, closes #7067) +Files: src/fileio.c, src/testdir/test_edit.vim + +Patch 8.2.1794 +Problem: No falsy Coalescing operator. +Solution: Add the "??" operator. Fix mistake with function argument count. +Files: runtime/doc/eval.txt, src/eval.c, src/vim9compile.c, + src/vim9type.c, src/testdir/test_expr.vim, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1795 +Problem: Vim9: operators && and || have a confusing result. +Solution: Make the result a boolean. +Files: runtime/doc/vim9.txt, src/eval.c, src/vim9compile.c, + src/vim9execute.c, src/vim9type.c, src/structs.h, src/vim9.h, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1796 +Problem: Vim9: invalid memory access with weird function name. (Dhiraj + Mishra) +Solution: Check the name is valid. Add a test. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1797 +Problem: Vim9: some parts of the code not tested. +Solution: Add a few tests. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1798 +Problem: Vim9: ternary operator condition is too permissive. +Solution: Use tv_get_bool_chk(). +Files: runtime/doc/vim9.txt, src/eval.c, src/vim9compile.c, + src/vim9execute.c, src/testdir/vim9.vim, + src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1799 +Problem: Some Normal mode commands not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #7073) +Files: src/testdir/test_gf.vim, src/testdir/test_goto.vim, + src/testdir/test_normal.vim, src/testdir/test_registers.vim, + src/testdir/test_startup.vim, src/testdir/test_tabpage.vim, + src/testdir/test_visual.vim + +Patch 8.2.1800 +Problem: Vim9: memory leak if "if" condition is invalid. +Solution: Free ppconst earlier. +Files: src/vim9compile.c + +Patch 8.2.1801 +Problem: Undo file not found when using ":args" or ":next". +Solution: Handle like editing another file. (closes #7072) +Files: src/ex_cmds.c, src/testdir/test_undo.vim + +Patch 8.2.1802 +Problem: Vim9: crash with unterminated dict. (Dhiraj Mishra) +Solution: Return empty string instead of NULL. (closes #7084) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1803 +Problem: A few failures are not tested. +Solution: Test a few failures. (Dominique Pellé, closes #7075) +Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, + src/testdir/test_json.vim, src/testdir/test_listdict.vim + +Patch 8.2.1804 +Problem: resolve('/') returns an empty string. +Solution: Don't remove single slash. (closes #7074) +Files: src/filepath.c, src/testdir/test_functions.vim + +Patch 8.2.1805 +Problem: Unix: terminal mode changed when using ":shell". +Solution: Avoid calling settmode() when not needed. (issue #7079) +Files: src/os_unix.c + +Patch 8.2.1806 +Problem: MS-Windows with Python: Vim freezes after import command. +Solution: Use either "NUL" or "CONIN$" when reopening stdin. (Yasuhiro + Matsumoto, closes #7083) +Files: src/if_python3.c + +Patch 8.2.1807 +Problem: Can use :help in a terminal popup window. +Solution: Give an error. (closes #7088) +Files: src/help.c, src/testdir/test_popupwin.vim + +Patch 8.2.1808 +Problem: No test coverage for ":spelldump!". +Solution: Add a test. (Dominique Pellé, closes #7089) +Files: src/testdir/test_spell.vim + +Patch 8.2.1809 +Problem: Mapping some keys with Ctrl does not work properly. +Solution: For terminal, GTK and Motif handle "@", "^" and "_" codes. +Files: src/misc2.c, src/proto/misc2.pro, src/term.c, src/gui_gtk_x11.c, + src/gui_x11.c, src/testdir/test_termcodes.vim + +Patch 8.2.1810 +Problem: Some code in normal.c not covered by tests. +Solution: Add normal mode tests. (Yegappan Lakshmanan, closes #7086) +Files: src/testdir/test_charsearch.vim, src/testdir/test_normal.vim + +Patch 8.2.1811 +Problem: Mapping Ctrl-key does not work for '{', '}' and '|'. +Solution: Remove the shift modifier. (closes #6457) +Files: runtime/doc/map.txt, src/misc2.c, src/testdir/test_termcodes.vim + +Patch 8.2.1812 +Problem: Vim9: nested closure throws an internal error. +Solution: Do not skip a local variable with a partial. (closes #7065) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1813 +Problem: Vim9: can assign wrong type to script dict. (Christian J. Robinson) +Solution: Check the type if known. +Files: src/structs.h, src/eval.c, src/vim9script.c, + src/proto/vim9script.pro, src/proto/evalvars.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.1814 (after 8.2.1813) +Problem: Missing change to remove "static". +Solution: Add the change. +Files: src/evalvars.c + +Patch 8.2.1815 +Problem: Vim9: memory leak when using function reference. +Solution: Temporarily disable the test. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1816 +Problem: Vim9: another memory leak when using function reference. +Solution: Temporarily disable the tests. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1817 +Problem: Vim9: wrong instruction when reusing a local variable spot. +Solution: Clear a newly allocated local variable. (closes #7080) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1818 +Problem: SE Linux: deprecation warning for security_context_t. +Solution: Use "char *" instead. (James McCoy, closes #7093) +Files: src/os_unix.c + +Patch 8.2.1819 +Problem: Vim9: Memory leak when using a closure. +Solution: Compute the mininal refcount in the funcstack. Reenable disabled + tests. +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/structs.h, + src/eval.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1820 +Problem: Vim9: crash when error happens in timer callback. +Solution: Check that current_exception is not NULL. (closes #7100) +Files: src/ex_docmd.c + +Patch 8.2.1821 +Problem: Vim9: concatenating to a NULL list doesn't work. +Solution: Handle a NULL list like an empty list. (closes #7064) +Files: src/list.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1822 (after 8.2.1821) +Problem: List test doesn't fail. +Solution: Adjust the test for NULL list handling. +Files: src/testdir/test_listdict.vim + +Patch 8.2.1823 +Problem: "gN" does not select the matched string. +Solution: Move the cursor to the start of the match. +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.2.1824 +Problem: Vim9: variables at the script level escape their scope. +Solution: When leaving a scope remove variables declared in it. +Files: src/structs.h, src/ex_eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.1825 +Problem: Vim9: accessing freed memory. +Solution: Clear sv_name when the variable is deleted. +Files: src/ex_eval.c + +Patch 8.2.1826 +Problem: Vim9: cannot use a {} block at script level. +Solution: Recognize a {} block. +Files: src/ex_docmd.c, src/ex_cmds.h, src/ex_cmdidxs.h, src/ex_eval.c, + src/structs.h, src/proto/ex_eval.pro, src/errors.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.1827 +Problem: Filetype detection does not test enough file names. +Solution: Test more file names. (Adam Stankiewicz, closes #7099) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1828 +Problem: Build failure without the +eval feature. +Solution: Add dummys for ex_block and ex_endblock. +Files: src/ex_docmd.c + +Patch 8.2.1829 +Problem: Warnings when executing Github actions. +Solution: Use another method to set environment variables. (Ken Takata, + closes #7107) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1830 +Problem: MS-Windows: Python3 issue with stdin. +Solution: Check if stdin is readable. (Ken Takata, closes #7106) +Files: src/if_python3.c + +Patch 8.2.1831 +Problem: File missing from distribution. +Solution: Add the github code analyses file. +Files: Filelist + +Patch 8.2.1832 +Problem: readdirex() error is displayed as a message. (Yegappan Lakshmanan) +Solution: Use semsg() instead of smsg(). +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.1833 +Problem: When reading from stdin dup() is called twice. +Solution: Remove the dup() in main.c. (Ken Takata, closes #7110) +Files: src/main.c + +Patch 8.2.1834 +Problem: PyEval_InitThreads() is deprecated in Python 3.9. +Solution: Do not call PyEval_InitThreads in Python 3.9 and later. (Ken + Takata, closes #7113) Avoid warnings for functions. +Files: src/if_python3.c, src/if_py_both.h + +Patch 8.2.1835 +Problem: ":help ??" finds the "!!" tag. +Solution: Do not translate "?" into ".". (Naruhiko Nishino, closes #7114, + closes #7115) +Files: src/help.c, src/testdir/test_help_tagjump.vim + +Patch 8.2.1836 +Problem: Autocmd test fails on pacifist systems. +Solution: Check that /bin/kill exists. (James McCoy, closes #7117) + Tune the timing, make the autocmd test run faster. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.1837 +Problem: Using "gn" after "gN" does not work. +Solution: Extend the other end of the Visual area. (closes #7109) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.2.1838 +Problem: Vim9: cannot insert a comment line in an expression. +Solution: Skip comment lines at the script level. (closes #7111) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1839 +Problem: Vim9: memory leaks reported in assign test. +Solution: Move the failing job_start() call to separate test files, it + causes false leak reports. +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_fails.vim, + src/testdir/Make_all.mak + +Patch 8.2.1840 +Problem: Vim9: error message is not clear about compilation error. +Solution: Say "compiling" instead of "processing". +Files: src/vim9compile.c, src/message.c, src/globals.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.1841 +Problem: Vim9: test for compilation error fails in normal build. +Solution: Invoke CheckRunVimInTerminal in a separate function. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1842 +Problem: Crash when USE_FNAME_CASE is defined and using :browse. +Solution: Don't use read-only memory for ".". (Yegappan Lakshmanan, + closes #7123) +Files: src/ex_cmds.c, src/ex_docmd.c, src/testdir/test_edit.vim + +Patch 8.2.1843 +Problem: Netbeans: with huge buffer number memory allocation may fail. +Solution: Check for size overflow. +Files: src/netbeans.c + +Patch 8.2.1844 +Problem: Using "q" at the more prompt doesn't stop a long message. +Solution: Check for "got_int". (closes #7122) +Files: src/message.c, src/testdir/test_messages.vim, + src/testdir/dumps/Test_quit_long_message.dump + +Patch 8.2.1845 +Problem: Vim9: function defined in a block can't use variables defined in + that block. +Solution: First step: Make a second hashtab that holds all script variables, + also block-local ones, with more information. +Files: src/structs.h, src/evalvars.c, src/ex_eval.c, src/vim9script.c, + src/proto/vim9script.pro, src/scriptfile.c + +Patch 8.2.1846 +Problem: Vim9: variables declared in a local block are not found in + when a function is compiled. +Solution: Look for script variables in sn_all_vars. +Files: src/structs.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/userfunc.c, src/proto/userfunc.pro, src/ex_eval.c, + src/vim9script.c, src/proto/vim9script.pro, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1847 +Problem: Vim9: using negative value for unsigned type. +Solution: Use zero instead of -1. +Files: src/vim9compile.c + +Patch 8.2.1848 +Problem: Crash when passing a NULL string or list to popup_settext(). +Solution: Check for NULL pointers. (closes #7132) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1849 +Problem: Vim9: garbage collection frees block-local variables. +Solution: Mark all script variables as used. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1850 +Problem: "vat" does not select tags correctly over line break. +Solution: Adjust the search pattern. (Aufar Gilbran, closes #7136) +Files: src/textobject.c, src/testdir/test_textobjects.vim + +Patch 8.2.1851 +Problem: Vim9: "!" followed by space incorrectly used. +Solution: Skip over trailing spaces. (closes #7131) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1852 +Problem: map() returing zero for NULL list is unexpected. +Solution: Return the empty list. (closes #7133) +Files: src/list.c, src/testdir/test_filter_map.vim, + src/testdir/test_blob.vim + +Patch 8.2.1853 +Problem: "to_f" is recognized at "topleft" modifier. +Solution: Do not recognize modifer when "_" follows. (closes #7019) +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1854 +Problem: Vim9: crash when throwing exception for NULL string. (Dhiraj + Mishra) +Solution: Handle NULL string like empty string. (closes #7139) +Files: src/vim9execute.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1855 +Problem: Vim9: get error message when nothing is wrong. +Solution: Check called_emsg instead of did_emsg. (closes #7143) +Files: src/vim9compile.c, src/vim9execute.c, src/errors.h + +Patch 8.2.1856 +Problem: "2resize" uses size of current window. (Daniel Steinberg) +Solution: Use size of resized window. (Yasuhiro Matsumoto, closes #7152) +Files: src/ex_docmd.c, src/testdir/test_window_cmd.vim + +Patch 8.2.1857 +Problem: Vim9: using job_status() on an unused var gives an error. +Solution: Return "fail". (closes #7158) +Files: src/job.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1858 +Problem: Vim9: filter functions return number instead of bool. +Solution: Return v:true instead of one. (closes #7144) +Files: src/popupwin.c, src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1859 +Problem: Vim9: crash in unpack assignment. +Solution: Make sure an error message is turned into an exception. + (closes #7159) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1860 +Problem: Vim9: memory leak when throwing empty string. +Solution: Free the empty string. +Files: src/vim9execute.c + +Patch 8.2.1861 +Problem: Vim9: no specific error when parsing lambda fails. +Solution: Also give syntax errors when not evaluating. (closes #7154) +Files: src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1862 +Problem: vim9: memory leak when compiling lambda fails. +Solution: Call clear_evalarg(). +Files: src/vim9compile.c + +Patch 8.2.1863 +Problem: Json code not sufficiently tested. +Solution: Add more test cases. (Dominique Pellé, closes #7166) +Files: src/testdir/test_json.vim + +Patch 8.2.1864 +Problem: Vim9: no error for wrong list type. +Solution: Add flag to indicate a constant. (closes #7160) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1865 +Problem: Vim9: add() does not check type of argument. +Solution: Inline the add() call. (closes #7160) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1866 +Problem: Vim9: appending to pushed blob gives wrong result. +Solution: Set ga_maxlen when copying a blob. +Files: src/blob.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1867 +Problem: Vim9: argument to add() not checked for blob. +Solution: Add the BLOBAPPEND instruction. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1868 +Problem: Vim9: no error for missing space after comma in dict. +Solution: Check for white space. (closes #6672) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1869 +Problem: Vim9: memory leak when using add(). +Solution: Free the added item. +Files: src/vim9execute.c + +Patch 8.2.1870 +Problem: Vim9: no need to keep all script variables. +Solution: Only keep script variables when a function was defined that could + use them. Fix freeing static string on exit. +Files: src/vim9script.c, src/proto/vim9script.pro, src/structs.h, + src/ex_eval.c, src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1871 +Problem: Using %v in 'errorformat' may fail before %Z. +Solution: Set qf_viscol only when qf_col is set. (closes #7169) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1872 +Problem: Matchfuzzy() does not prefer sequential matches. +Solution: Give sequential matches a higher bonus. (Christian Brabandt, + closes #7140) +Files: src/search.c, src/testdir/test_matchfuzzy.vim + +Patch 8.2.1873 +Problem: Vim9: missing white space when using <f-args>. +Solution: Add spaces. (Christian J. Robinson) +Files: src/usercmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1874 +Problem: Can't do something just before leaving Insert mode. +Solution: Add the InsertLeavePre autocommand event. (closes #7177) +Files: runtime/doc/autocmd.txt, src/edit.c, src/vim.h, + src/autocmd.c, src/testdir/test_edit.vim + +Patch 8.2.1875 +Problem: Warning when building GTK gui. +Solution: Add missing function parameter. +Files: src/gui_gtk_f.c + +Patch 8.2.1876 +Problem: Vim9: argument types for builtin functions are not checked at + compile time. +Solution: Add an argument type checking mechanism. Implement type checks for + one function. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/Make_all.mak + +Patch 8.2.1877 (after 8.2.1876) +Problem: Test for function list fails. +Solution: Move "obsolete" comments one line up. +Files: src/evalfunc.c + +Patch 8.2.1878 +Problem: GTK: error for redefining function. (Tony Mechelynck) +Solution: Remove "gtk_" prefix from local functions and prepend "gui_" to + global functions. +Files: src/gui_gtk_f.c, src/gui_gtk_f.h, src/gui_gtk.c, src/gui_gtk_x11.c + +Patch 8.2.1879 +Problem: Vim9: argument types of insert() not checked when compiling. +Solution: Add argument type checks for insert(). +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.1880 +Problem: Vim9: Asan complains about adding zero to NULL. +Solution: Check for argument count first. +Files: src/vim9compile.c + +Patch 8.2.1881 +Problem: Cannot build with GTK3. +Solution: Adjust form functions. +Files: src/gui_gtk_f.c + +Patch 8.2.1882 +Problem: Vim9: v:disallow_let is no longer needed. +Solution: Remove v:disallow_let. +Files: src/evalvars.c, src/vim.h, src/vim9compile.c + +Patch 8.2.1883 +Problem: Compiler warnings when using Python. +Solution: Adjust PyCFunction to also have the second argument. Use "int" + return type for some functions. Insert "(void *)" to get rid of + the remaining warnings. +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + +Patch 8.2.1884 +Problem: Compiler warning for uninitialized variable. (John Marriott) +Solution: Initialize with NULL. +Files: src/vim9compile.c, src/evalfunc.c + +Patch 8.2.1885 +Problem: Filetype tests unnessarily creates swap files. +Solution: Disable 'swapfile'. (Ken Takata, closes #7183) +Files: src/testdir/test_filetype.vim + +Patch 8.2.1886 +Problem: Using ":silent!" in a popup filter has unexpected effect. +Solution: Use did_emsg instead of called_emsg. (closes #7178) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1887 +Problem: Github actions not optimally configured. +Solution: Run CI on any pushed branches. Set fail-fast. (Ozaki Kiichi, + closes #7184) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1888 +Problem: Vim9: Getbufline(-1, 1, '$') gives an error. +Solution: Return an empty list. (closes #7180) +Files: src/evalbuffer.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.1889 +Problem: Vim9: errornous error for missing white space after {}. +Solution: Don't skip over white space after {}. (issue #7167) +Files: src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1890 +Problem: Vim9: strange error for subtracting from a list. +Solution: Check getting a number, not a string. (closes #7167) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1891 +Problem: Vim9: skipping over expression doesn't handle line breaks. +Solution: Pass evalarg to skip_expr(). (closes #7157) +Files: src/vim9compile.c, src/eval.c, src/proto/eval.pro, src/ex_docmd.c, + src/misc1.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1892 +Problem: Valgrind warns for using uninitialized access in tests. +Solution: Fix condition for breaking out of loop. (Dominique Pellé, + closes #7187) +Files: src/terminal.c + +Patch 8.2.1893 +Problem: Fuzzy matching does not support multiple words. +Solution: Add support for matching white space separated words. (Yegappan + Lakshmanan, closes #7163) +Files: runtime/doc/eval.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.1894 +Problem: Vim9: command modifiers are not supported. +Solution: Support "silent" and "silent!". +Files: src/structs.h, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/evalvars.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1895 (after 8.2.1894) +Problem: Vim9: silent command modifier test fails. +Solution: Add missing changes. +Files: src/ex_docmd.c + +Patch 8.2.1896 +Problem: Valgrind warns for using uninitialized memory. +Solution: NUL terminate the SmcOpenConnection() error message. (Dominique + Pellé, closes #7194) +Files: src/os_unix.c + +Patch 8.2.1897 +Problem: Command modifiers are saved and set inconsistently. +Solution: Separate parsing and applying command modifiers. Save values in + cmdmod_T. +Files: src/structs.h, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_cmds.h, src/vim9compile.c + +Patch 8.2.1898 +Problem: Command modifier parsing always uses global cmdmod. +Solution: Pass in cmdmod_T to use. Rename struct fields consistently. +Files: src/structs.h, src/arglist.c src/buffer.c, src/bufwrite.c, + src/diff.c, src/change.c, src/cmdhist.c, src/edit.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, + src/fileio.c, src/filepath.c, src/gui.c, src/gui_gtk_x11.c, + src/help.c, src/if_cscope.c, src/indent.c, src/mark.c, + src/memline.c, src/message.c, src/option.c, src/ops.c, + src/os_unix.c, src/quickfix.c, src/register.c, src/scriptfile.c, + src/search.c, src/session.c, src/tag.c, src/terminal.c, + src/textformat.c, src/usercmd.c, src/vim9compile.c, src/window.c, + src/proto/ex_docmd.pro + +Patch 8.2.1899 +Problem: Crash in out-of-memory situation. +Solution: Bail out if shell_name is NULL. (Dominique Pellé, closes #7196) +Files: src/ex_cmds.c + +Patch 8.2.1900 +Problem: Vim9: command modifiers do not work. +Solution: Make most command modifiers work. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/usercmd.c, src/proto/usercmd.pro, src/scriptfile.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1901 +Problem: Variable completion does not work in command line window. +Solution: Use the "prevwin". (closes #7198) +Files: src/evalvars.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1902 +Problem: Default option values are changed when using :badd for an existing + buffer. +Solution: When calling buflist_new() pass a zero line number. (closes #7195) +Files: src/ex_cmds.c, src/testdir/test_buffer.vim + +Patch 8.2.1903 (after 8.2.1902) +Problem: Buffer test fails with normal features. +Solution: Use 'numberwidth' instead of 'conceallevel' in the test. +Files: src/testdir/test_buffer.vim + +Patch 8.2.1904 +Problem: Still using default option values after using ":badd +1". +Solution: Find a window where options were set. Don't set the window when + using ":badd". +Files: src/buffer.c, src/ex_cmds.c, src/vim.h, + src/testdir/test_buffer.vim + +Patch 8.2.1905 +Problem: The wininfo list may contain stale entries. +Solution: When closing a window remove any other entry where the window + pointer is NULL. +Files: src/buffer.c, src/proto/buffer.pro, src/window.c + +Patch 8.2.1906 +Problem: Warning for signed/unsigned. +Solution: Use size_t instead of int. (Mike Williams) +Files: src/proto/usercmd.pro, src/usercmd.c, src/vim9execute.c + +Patch 8.2.1907 +Problem: Complete_info().selected may be wrong. +Solution: Update cp_number if it was never set. (issue #6945) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1908 +Problem: Lua is initialized even when not used. +Solution: Put lua_init() after check for "eap->skip". (Christian Brabandt, + closes #7191). Avoid compiler warnings. +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1909 +Problem: Number of status line items is limited to 80. +Solution: Dynamically allocate the arrays. (Rom Grk, closes #7181) +Files: runtime/doc/options.txt, src/buffer.c, src/optionstr.c, + src/proto/buffer.pro, src/screen.c, src/structs.h, + src/testdir/test_options.vim, src/testdir/test_statusline.vim, + src/vim.h + +Patch 8.2.1910 +Problem: Reading past the end of the command line. +Solution: Check for NUL. (closes #7204) +Files: src/ex_docmd.c, src/testdir/test_edit.vim + +Patch 8.2.1911 +Problem: Tiny build fails. +Solution: Add #ifdef. +Files: src/insexpand.c + +Patch 8.2.1912 +Problem: With Python 3.9 some tests fail. +Solution: Take into account the different error message. (James McCoy, + closes #7210) +Files: src/testdir/test_python3.vim + +Patch 8.2.1913 +Problem: GTK GUI: rounding for the cell height is too strict. +Solution: Round up above 15/16 of a pixel. (closes #7203) +Files: src/gui_gtk_x11.c + +Patch 8.2.1914 +Problem: Vim9: cannot put line break in expression for '=' register. +Solution: Pass fgetline to set_expr_line(). (closes #7209) +Files: src/register.c, src/proto/register.pro, src/ex_docmd.c, + src/eval.c, src/proto/eval.pro, src/misc2.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1915 +Problem: Vim9: error for wrong number of arguments is not useful. +Solution: Mention whatever we have for the name. (closes #7208) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1916 +Problem: Vim9: function call is aborted even when "silent!" is used. +Solution: Use did_emsg instead of called_emsg. (closes #7213) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1917 +Problem: No test for improved Man command. +Solution: Test that shell arguments are properly escaped. +Files: src/testdir/test_man.vim + +Patch 8.2.1918 +Problem: Vim9: E1100 mentions :let. +Solution: Mention "var". (closes #7207) +Files: src/vim9script.c, src/errors.h + +Patch 8.2.1919 +Problem: Assert_fails() setting emsg_silent changes normal execution. +Solution: Use a separate flag in_assert_fails. +Files: src/testing.c, src/globals.h, src/buffer.c, src/change.c, + src/fileio.c, src/insexpand.c, src/message.c, src/misc1.c, + src/normal.c, src/screen.c, src/term.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim, src/testdir/gen_opt_test.vim, + src/testdir/test_autocmd.vim, src/testdir/test_mapping.vim, + src/testdir/test_popup.vim, src/testdir/test_terminal.vim + +Patch 8.2.1920 +Problem: Listlbr test fails when run after another test. +Solution: Add test separately to list of test targets. +Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim + +Patch 8.2.1921 +Problem: Fuzzy matching does not recognize path separators. +Solution: Add a bonus for slash and backslash. (Yegappan Lakshmanan, + closes #7225) +Files: src/search.c, src/testdir/test_matchfuzzy.vim + +Patch 8.2.1922 +Problem: Win32: scrolling doesn't work properly when part of window is + off-screen. +Solution: Fall back to GDI scrolling if part of the window is off-screen. + Handle multi-monitor setup better. (Ken Takata, closes #7219) +Files: src/gui_w32.c + +Patch 8.2.1923 +Problem: Vim9: "filter" command modifier doesn't work. +Solution: Check for space on char before argument. (closes #7216, + closes #7222) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1924 +Problem: Vim9: crash when indexing dict with NULL key. +Solution: Use empty string instead of NULL. (closes #7229) Make error + message more useful for empty string. +Files: src/vim9execute.c, src/globals.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.1925 (after 8.2.1924) +Problem: List/dict test fails. +Solution: Correct expected exception. +File: src/testdir/test_listdict.vim + +Patch 8.2.1926 +Problem: Cannot use a space in 'spellfile'. (Filipe Brandenburger) +Solution: Permit using a space. (closes #7230) +Files: src/spell.c, src/testdir/gen_opt_test.vim + +Patch 8.2.1927 +Problem: Vim9: get unknown error with an error in a timer function. +Solution: Use did_emsg instead of called_emsg. (closes #7231) +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.1928 +Problem: Vim9: "silent!" not effective when list index is wrong. +Solution: Ignore list index failure when emsg_silent is set. (closes #7232) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1929 +Problem: MS-Windows: problem loading Perl 5.32. +Solution: Define NO_THREAD_SAFE_LOCALE. (Ken Takata, closes #7234) +Files: src/if_perl.xs + +Patch 8.2.1930 +Problem: Wrong input if removing shift results in special key code. +Solution: Handle special key codes. (closes #7189) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.1931 +Problem: Vim9: arguments of extend() not checked at compile time. +Solution: Add argument type checking for extend(). +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.1932 +Problem: Compiler warnings when building with Athena GUI. +Solution: Fix function signatures. +Files: src/gui_at_fs.c + +Patch 8.2.1933 +Problem: Cannot sort using locale ordering. +Solution: Add a flag for :sort and sort() to use the locale. (Dominique + Pellé, closes #7237) +Files: runtime/doc/change.txt, runtime/doc/eval.txt, src/ex_cmds.c, + src/list.c, src/testdir/test_sort.vim + +Patch 8.2.1934 +Problem: Vim9: command modifiers in :def function not tested. +Solution: Add tests. Fix using modifier before filter command. +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1935 (after 8.2.1933) +Problem: Sort test fails on Mac. +Solution: Disable the sort test with locale on Mac. +Files: src/testdir/test_sort.vim + +Patch 8.2.1936 +Problem: Session sets the local 'scrolloff' value to the global value. +Solution: Do not let restoring the global option value change the local + value. +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.1937 +Problem: Vim9: test for confirm modifier fails in some situations. +Solution: Add a short wait. Handle failure better. +Files: src/testdir/term_util.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1938 +Problem: Wiping out a terminal buffer makes some tests fail. +Solution: Do not wipe out the terminal buffer unless wanted. +Files: src/testdir/term_util.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal3.vim + +Patch 8.2.1939 +Problem: Invalid memory access in Ex mode with global command. +Solution: Make sure the cursor is on a valid line. (closes #7238) +Files: src/move.c, src/testdir/test_ex_mode.vim + +Patch 8.2.1940 +Problem: Vim9: browse modifier test fails on Mac. +Solution: Only test when the +browse feature is available. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.1941 +Problem: Ex mode test fails on MS-Windows with GUI. +Solution: Skip the test when using gvim. +Files: src/testdir/test_ex_mode.vim + +Patch 8.2.1942 +Problem: Insufficient test coverage for the Netbeans interface. +Solution: Add more tests. Fix an uncovered bug. (Yegappan Lakshmanan, + closes #7240) +Files: runtime/doc/netbeans.txt, src/mouse.c, + src/testdir/test_netbeans.py, src/testdir/test_netbeans.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.1943 +Problem: Vim9: wrong error message when colon is missing. +Solution: Check for a missing colon. (issue #7239) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1944 +Problem: Netbeans test is flaky. +Solution: Add a short delay. (Yegappan Lakshmanan, closes #7246) +Files: src/testdir/test_netbeans.vim + +Patch 8.2.1945 +Problem: Crash when passing NULL function to reduce(). +Solution: Check for NULL pointer and give an error. (Dominique Pellé, + closes #7243) +Files: src/list.c, src/errors.h, src/testdir/test_listdict.vim + +Patch 8.2.1946 +Problem: sort() with NULL string not tested. +Solution: Add a test. use v:collate. (Dominique Pellé, closes #7247) +Files: src/testdir/test_sort.vim + +Patch 8.2.1947 +Problem: Crash when using "zj" without folds. (Sean Dewar) +Solution: Check for at least one fold. (closes #7245) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.1948 +Problem: GUI: crash when handling message while closing a window. (Srinath + Avadhanula) +Solution: Don't handle message while closing a window. (closes #7250) +Files: src/window.c, src/globals.h, src/getchar.c + +Patch 8.2.1949 +Problem: Vim9: using extend() on null dict is silently ignored. +Solution: Give an error message. Initialize a dict variable with an empty + dictionary. (closes #7251) +Files: src/errors.h, src/list.c, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.1950 +Problem: Vim9: crash when compiling function fails when getting type. +Solution: Handle NULL type. (closes #7253) +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1951 (after 8.2.1949) +Problem: Test for list and dict fails. +Solution: Adjust for using an empty list/dict for a null one. +Files: src/testdir/test_listdict.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.2.1952 +Problem: Vim9: crash when using a NULL dict key. +Solution: Use a NULL dict key like an empty string. (closes #7249) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1953 +Problem: Vim9: extra "unknown" error after other error. +Solution: Restore did_emsg count after EXEC instruction. (closes #7254) + Improve error message from assert_fails() +Files: src/vim9execute.c, src/testing.c, + src/testdir/test_vim9_script.vim, src/testdir/test_assert.vim + +Patch 8.2.1954 +Problem: Vim9: not all command modifiers are tested. +Solution: Add tests for "keep" modifiers. Fix that marks are lost even + though ":lockmarks" is used. +Files: src/ex_cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1955 +Problem: Vim9: not all command modifiers are tested. +Solution: Add tests for remaining modifiers. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.1956 +Problem: Vim9: cannot specify argument types for lambda. +Solution: Allow adding argument types. Check arguments when calling a + function reference. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, + src/eval.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1957 +Problem: Diff and cursorcolumn highlighting don't mix. +Solution: Fix condition for what attribute to use. (Christian Brabandt, + closes #7258, closes #7260) +Files: src/drawline.c, src/testdir/dumps/Test_diff_cuc_01.dump, + src/testdir/dumps/Test_diff_cuc_02.dump, + src/testdir/dumps/Test_diff_cuc_03.dump, + src/testdir/dumps/Test_diff_cuc_04.dump, + src/testdir/test_diffmode.vim + +Patch 8.2.1958 (after 8.2.1956) +Problem: Build failure with timers. +Solution: Add missing change. +Files: src/popupwin.c + +Patch 8.2.1959 +Problem: Crash when terminal buffer name is made empty. (Dhiraj Mishra) +Solution: Fall back to "[No Name]". (closes #7262) +Files: src/buffer.c, src/proto/buffer.pro, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.2.1960 +Problem: Warning for uninitialized variable. +Solution: Initialize the variable. +Files: src/evalfunc.c + +Patch 8.2.1961 +Problem: Various comments can be improved. +Solution: Various comment adjustments. +Files: src/dict.c, src/structs.h, src/time.c, src/testdir/shared.vim, + src/testdir/test_netbeans.vim, src/gui_motif.c + +Patch 8.2.1962 +Problem: Netbeans may access freed memory. +Solution: Check the buffer pointer is still valid. Add a test. (Yegappan + Lakshmanan, closes #7248) +Files: src/netbeans.c, src/testdir/test_netbeans.vim + +Patch 8.2.1963 +Problem: Crash when using a popup window with "latin1" encoding. +Solution: Don't use ScreenLinesUC when enc_utf8 is false. (closes #7241) +Files: src/screen.c, src/terminal.c, src/testdir/test_popupwin.vim + +Patch 8.2.1964 +Problem: Not all ConTeXt files are recognized. +Solution: Add two patterns. (closes #7263) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1965 +Problem: Vim9: tests fail without the channel feature. +Solution: Check if the channel feature is present. (Dominique Pellé, + closes 7270) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1966 +Problem: Popup becomes current window after closing a terminal window. +Solution: When restoring the window after executing autocommands, check that + the window ID is still the same. (Naruhiko Nishino, + closes #7272) +Files: src/autocmd.c, src/window.c, src/proto/window.pro, src/structs.h, + src/testdir/test_popupwin.vim + +Patch 8.2.1967 +Problem: The session file does not restore the alternate file. +Solution: Add ":balt". Works like ":badd" and also sets the buffer as the + alternate file. Use it in the session file. (closes #7269, + closes #6714) +Files: runtime/doc/windows.txt, src/ex_cmds.h, src/ex_cmdidxs.h, + src/ex_docmd.c, src/vim.h, src/ex_cmds.c, src/session.c, + src/testdir/test_buffer.vim + +Patch 8.2.1968 +Problem: Vim9: has() assumes a feature does not change dynamically. +Solution: Check whether a feature may change dynamically. (closes #7265) +Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1969 +Problem: Vim9: map() may change the list or dict item type. +Solution: Add mapnew(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/testdir/test_filter_map.vim + +Patch 8.2.1970 +Problem: It is easy to make mistakes when cleaning up swap files after the + system crashed. +Solution: Warn for the process still running after recovery. Do not + automatically delete a swap file created on another system. + (David Fries, closes #7273) +Files: src/memline.c, src/testdir/test_swap.vim + +Patch 8.2.1971 +Problem: Memory leak when map() fails. +Solution: Clear the typval. +Files: src/list.c + +Patch 8.2.1972 +Problem: Crash when recreating nested fold. +Solution: Check for empty growarray. (closes #7278) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.1973 +Problem: Finding a patch number can be a bit slow. +Solution: Use binary search. (closes #7279) +Files: src/version.c + +Patch 8.2.1974 +Problem: Vim9: test for has('gui_running') fails with VIMDLL. +Solution: Adjust the #ifdef. (Ken Takata, closes #7276) +Files: src/evalfunc.c + +Patch 8.2.1975 +Problem: Win32: memory leak when encoding conversion fails. +Solution: Free the allocated memory. (Ken Takata, closes #7277) +Files: src/os_win32.c + +Patch 8.2.1976 +Problem: Cannot backspace in prompt buffer after using cursor-left. (Maxim + Kim) +Solution: Ignore "arrow_used" in a prompt buffer. (closes #7281) +Files: src/edit.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.1977 +Problem: Vim9: error for using a string in a condition is confusing. +Solution: Give a more specific error. Also adjust the compile time type + checking for || and &&. +Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/typval.c, src/errors.h, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1978 +Problem: Making a mapping work in all modes is complicated. +Solution: Add the <Cmd> special key. (Yegappan Lakshmanan, closes #7282, + closes 4784, based on patch by Bjorn Linse) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, + runtime/doc/map.txt, src/edit.c, src/errors.h, src/ex_docmd.c, + src/ex_getln.c, src/getchar.c, src/insexpand.c, src/keymap.h, + src/map.c, src/misc2.c, src/normal.c, src/ops.c, + src/proto/getchar.pro, src/screen.c, src/terminal.c, + src/testdir/test_mapping.vim + +Patch 8.2.1979 +Problem: "term_opencmd" option of term_start() is truncated. (Sergey + Vlasov) +Solution: Allocate the buffer to hold the command. (closes #7284) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.1980 +Problem: Vim9: some tests are not done at the script level. +Solution: Use CheckDefAndScriptSuccess() in more places. Fix uncovered + problems. +Files: src/eval.c, src/list.c, src/scriptfile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1981 +Problem: MinGW: parallel compilation might fail. +Solution: Add dependencies on $(OUTDIR). (Masamichi Abe, closes #7287) +Files: src/Make_cyg_ming.mak + +Patch 8.2.1982 +Problem: Quickfix window not updated when adding invalid entries. +Solution: Update the quickfix buffer properly. (Yegappan Lakshmanan, closes + #7291, closes #7271) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1983 +Problem: ml_get error when using <Cmd> to open a terminal. +Solution: If the window changed reset the incsearch state. (closes #7289) +Files: src/ex_getln.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_from_cmd.dump + +Patch 8.2.1984 +Problem: Cannot use :vimgrep in omni completion, causing C completion to + fail. +Solution: Add the EX_LOCK_OK flag to :vimgrep. (closes #7292) +Files: src/ex_cmds.h, src/testdir/test_quickfix.vim + +Patch 8.2.1985 +Problem: Crash when closing terminal popup with <Cmd> mapping. +Solution: Check b_term is not NULL. (closes #7294) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.1986 +Problem: Expression test is flaky on Appveyor. +Solution: Temporarily disable the test in MS-Windows. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1987 +Problem: MS-Windows: Win32.mak is no longer needed. +Solution: Do not include Win32.mak. (Jason McHugh, closes #7290) +Files: src/Make_mvc.mak, src/INSTALLpc.txt + +Patch 8.2.1988 +Problem: Still in Insert mode when opening terminal popup with a <Cmd> + mapping in Insert mode. +Solution: Exit Insert mode. (closes #7295) +Files: src/edit.c, src/testdir/test_terminal.vim + +Patch 8.2.1989 +Problem: Info popup triggers WinEnter and WinLeave autocommands. +Solution: Suppress autocommands for the info popup. (closes #7296) +Files: src/popupmenu.c, src/testdir/test_popupwin.vim + +Patch 8.2.1990 +Problem: Cursor position wrong in terminal popup with finished job. +Solution: Only add the top and left offset when not done already. + (closes #7298) +Files: src/popupwin.c, src/structs.h, src/drawline.c, src/move.c, + src/terminal.c, src/testdir/dumps/Test_terminal_popup_m1.dump + +Patch 8.2.1991 +Problem: Coverity warns for not using the ga_grow() return value. +Solution: Bail out if ga_grow() fails. (Yegappan Lakshmanan, closes #7303) +Files: src/getchar.c + +Patch 8.2.1992 +Problem: Build fails with small features. +Solution: Add #ifdef. +Files: src/move.c + +Patch 8.2.1993 +Problem: Occasional failure of the netbeans test. +Solution: Add "silent!". (Yegappan Lakshmanan, closes #7304) +Files: src/testdir/test_netbeans.vim + +Patch 8.2.1994 (after 8.2.1981) +Problem: MS-Windows: MinGW always does a full build. +Solution: Only check if $OUTDIR exists. (Masamichi Abe, closes #7311) +Files: src/Make_cyg_ming.mak + +Patch 8.2.1995 +Problem: The popup menu can cause too much redrawing. +Solution: Reduce the length of the displayed text. (Yasuhiro Matsumoto, + closes #7306) +Files: src/popupmenu.c + +Patch 8.2.1996 +Problem: Vim9: invalid error for argument of extend(). +Solution: Check if the type could match. (closes #7299) +Files: src/evalfunc.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.1997 +Problem: Window changes when using bufload() while in a terminal popup. +Solution: When searching for a window by ID also find a popup window. + (closes #7307) +Files: src/window.c, src/testdir/test_terminal.vim + +Patch 8.2.1998 +Problem: Terminal Cmd test sometimes fails to close popup. +Solution: Add "term_finish" option. +Files: src/testdir/test_terminal.vim + +Patch 8.2.1999 +Problem: Terminal popup test sometimes fails. +Solution: Wait for the popup to close. +Files: src/testdir/test_terminal.vim + +Patch 8.2.2000 +Problem: Vim9: dict.key assignment not implemented yet. +Solution: Implement dict.key assignment. (closes #7312) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2001 +Problem: Vim9: :def function does not apply 'maxfuncdepth'. +Solution: Use 'maxfuncdepth'. (issue #7313) +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2002 +Problem: Vim9: lambda argument shadowed by function name. +Solution: Let function name be shadowed by lambda argument. (closes #7313) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2003 +Problem: Build error with +conceal but without +popupwin. +Solution: Add #ifdef. (Tom Ryder, closes #7316) +Files: src/drawline.c + +Patch 8.2.2004 (after 8.2.2002) +Problem: Compiler warning for uninitialized variable. +Solution: Initialize "ufunc". (John Marriott) +Files: src/vim9compile.c + +Patch 8.2.2005 +Problem: Redoing a mapping with <Cmd> doesn't work properly. +Solution: Fill the redo buffer. Use "<SNR>" instead of a key code. + (closes #7282) +Files: src/ops.c, src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.2006 +Problem: .pbtxt files are not recognized. +Solution: Recognize .pbtxt as protobuf text buffers. (closes #7326) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2007 +Problem: Test for insert mode in popup is not reliable. +Solution: Wait for the popup to disappear. (Ozaki Kiichi, closes #7321) +Files: src/testdir/test_terminal.vim + +Patch 8.2.2008 +Problem: MS-Windows GUI: handling channel messages lags. +Solution: Reduce the wait time from 100 to 10 msec. (closes #7097) +Files: src/gui_w32.c + +Patch 8.2.2009 +Problem: MS-Windows: setting $LANG in gvimext only causes problems. +Solution: Do not set $LANG. (Ken Takata, closes #7325) +Files: src/GvimExt/gvimext.cpp + +Patch 8.2.2010 +Problem: Vim9: compiling fails for unreachable return statement. +Solution: Fix it. (closes #7319) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2011 +Problem: "syn sync" reports a very large number. +Solution: Use "at the first line". +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.2012 +Problem: Vim9: confusing error message when using bool wrongly. +Solution: Mention "Bool" instead of "Special". (closes #7323) +Files: src/typval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.2013 +Problem: Vim9: not skipping white space after unary minus. +Solution: Skip whitespace. (closes #7324) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2014 +Problem: Using CTRL-O in a prompt buffer moves cursor to start of the line. +Solution: Do not move the cursor when restarting edit. (closes #7330) +Files: src/job.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.2015 +Problem: Vim9: literal dict #{} is not like any other language. +Solution: Support the JavaScript syntax. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/proto/vim9compile.pro, src/errors.h, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.2016 +Problem: Swap file test is a little flaky. +Solution: Don't set a byte to a fixed value, increment it. +Files: src/testdir/test_swap.vim + +Patch 8.2.2017 (after 8.2.2015) +Problem: Missing part of the dict change. +Solution: Also change the script level dict. +Files: src/dict.c + +Patch 8.2.2018 +Problem: Vim9: script variable not found from lambda. +Solution: In a lambda also check the script hashtab for a variable without a + scope. (closes #7329) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2019 (after 8.2.2016) +Problem: Swap file test fails on MS-Windows. +Solution: Add four to the process ID. (Ken Takata, closes #7333) +Files: src/testdir/test_swap.vim + +Patch 8.2.2020 +Problem: Some compilers do not like the "namespace" argument. +Solution: Rename to "use_namespace". (closes #7332) +Files: src/vim9compile.c, src/proto/vim9compile.pro + +Patch 8.2.2021 +Problem: Vim9: get E1099 when autocommand resets did_emsg. +Solution: Add did_emsg_cumul. (closes #7336) +Files: src/globals.h, src/ex_docmd.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2022 +Problem: Vim9: star command recognized errornously. +Solution: Give an error for missing colon. (issue #7335) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2023 +Problem: Vim: memory leak when :execute fails. +Solution: Clear the growarray. +Files: src/vim9execute.c + +Patch 8.2.2024 +Problem: Flicker when redrawing a popup with a title and border. +Solution: Do not redraw the border where the title is displayed. (Naruhiko + Nishino, closes #7334) +Files: src/popupwin.c + +Patch 8.2.2025 +Problem: Amiga: Not all colors are used on OS4. +Solution: Adjust the #ifdef to include __amigaos4__. (Ola Söder, + closes #7328) +Files: src/term.c + +Patch 8.2.2026 +Problem: Coverity warns for possibly using not NUL terminated string. +Solution: Put a NUL in b0_hname just in case. +Files: src/memline.c + +Patch 8.2.2027 +Problem: Coverity warns for uninitialized field. +Solution: Set "v_lock". +Files: src/list.c + +Patch 8.2.2028 +Problem: Coverity warns for using an uninitialized variable. +Solution: Initialize to NULL. +Files: src/eval.c + +Patch 8.2.2029 +Problem: Coverity warns for not checking return value. +Solution: Check that u_save_cursor() returns OK. +Files: src/ops.c + +Patch 8.2.2030 +Problem: Some tests fail on Mac. +Solution: Avoid Mac test failures. Add additional test for wildmenu. + (Yegappan Lakshmanan, closes #7341) +Files: src/testdir/runtest.vim, src/testdir/test_cmdline.vim, + src/testdir/test_options.vim, src/testdir/test_popupwin.vim + +Patch 8.2.2031 +Problem: Some tests fail when run under valgrind. +Solution: Avoid timing problems. +Files: src/testdir/test_vim9_func.vim, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_debugger.vim, + src/testdir/test_quotestar.vim + +Patch 8.2.2032 +Problem: Cabalconfig and cabalproject filetypes not recognized. +Solution: Detect more cabal files. (Marcin Szamotulski, closes #7339) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2033 +Problem: Vim9: :def without argument gives compilation error. +Solution: Add the DEF instruction. (closes #7344) +Files: src/ex_docmd.c, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2034 +Problem: Vim9: list unpack in for statement not compiled yet. +Solution: Compile list unpack. (closes #7345) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/eval.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2035 +Problem: MS-Windows: some tests may fail. +Solution: Avoid test failures. (Yegappan Lakshmanan, closes #7346) +Files: src/testdir/test_channel.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_functions.vim + +Patch 8.2.2036 +Problem: Current buffer is messed up if creating a new buffer for the + quickfix window fails. +Solution: Check that creating the buffer succeeds. (closes #7352) +Files: src/quickfix.c, src/testdir/test_quickfix.vim, + src/testdir/dumps/Test_quickfix_window_fails.dump + +Patch 8.2.2037 +Problem: Compiler test depends on list of compiler plugins. +Solution: Compare with the actual list of compiler plugins. +Files: src/testdir/test_compiler.vim + +Patch 8.2.2038 +Problem: Compiler test fails on MS-Windows. +Solution: Sort the found compiler plugin names. +Files: src/testdir/test_compiler.vim + +Patch 8.2.2039 +Problem: Viminfo is not written when creating a new file. +Solution: Set "b_marks_read" in the new buffer. (Christian Brabandt, + closes #7350) +Files: src/bufwrite.c, src/testdir/test_viminfo.vim + +Patch 8.2.2040 +Problem: Terminal buffer disappears even when 'bufhidden' is "hide". + (Sergey Vlasov) +Solution: Check 'bufhiddden' when a terminal buffer becomes hidden. + (closes #7358) +Files: src/buffer.c, src/testdir/test_terminal.vim + +Patch 8.2.2041 +Problem: Haskell filetype not optimally recognized. +Solution: Recognize all *.hsc files as Haskell. (Marcin Szamotulski, + closes #7354) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2042 +Problem: Build failure with +profile but without +reltime. +Solution: Adjust #ifdef. (Christian Brabandt, closes #7361) +Files: src/syntax.c + +Patch 8.2.2043 +Problem: GTK3: white border around text stands out. +Solution: Use current theme color. (closes #7357, issue #349) +Files: src/gui_gtk_x11.c + +Patch 8.2.2044 +Problem: MS-Windows: swap file test sometimes fails. +Solution: Use a more reliable way to change the process ID. When "timeout" + fails use "ping" to wait up to ten minutes. (Ken Takata, + closes #7365) +Files: .github/workflows/ci-windows.yaml, src/testdir/test_swap.vim + +Patch 8.2.2045 +Problem: Highlighting a character too much with incsearch. +Solution: Check "search_match_endcol". (Christian Brabandt, closes #7360) +Files: src/drawline.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_newline1.dump, + src/testdir/dumps/Test_incsearch_newline2.dump, + src/testdir/dumps/Test_incsearch_newline3.dump, + src/testdir/dumps/Test_incsearch_newline4.dump, + src/testdir/dumps/Test_incsearch_newline5.dump + +Patch 8.2.2046 +Problem: Some test failures don't give a clear error. +Solution: Use assert_match() and assert_fails() instead of assert_true(). + (Ken Takata, closes #7368) +Files: src/testdir/test_autocmd.vim, src/testdir/test_backspace_opt.vim + +Patch 8.2.2047 +Problem: Amiga: FEAT_ARP defined when it should not. +Solution: Adjust #ifdef. (Ola Söder, closes #7370) +Files: src/feature.h + +Patch 8.2.2048 +Problem: Amiga: obsolete code. +Solution: Remove the unused lines. (Ola Söder, closes #7373) +Files: src/gui.c + +Patch 8.2.2049 +Problem: Amiga: obsolete function. +Solution: Remove the function. (Ola Söder, closes #7374) +Files: src/memfile.c + +Patch 8.2.2050 +Problem: Search test contains unneeded sleeps. +Solution: Rename the function, remove sleeps. (Christian Brabandt, + closes #7369) +Files: src/testdir/test_search.vim + +Patch 8.2.2051 +Problem: Vim9: crash when aborting a user function call. +Solution: Do not use the return value when aboring. (closes #7372) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2052 +Problem: Vim9: "edit +4 fname" gives an error. (Naruhiko Nishino) +Solution: Allow using a range in the +cmd argument. (closes #7364) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/vim.h, src/ex_cmds.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2053 +Problem: Vim9: lamba doesn't accept argument types. +Solution: Optionally accept argument types at the script level. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2054 +Problem: Amiga: FEAT_ARP defined when it should not. +Solution: Adjust "||" to "&&" in #ifdef. (Ola Söder, closes #7375) +Files: src/feature.h + +Patch 8.2.2055 +Problem: MS-Windows: two Vim instances may use the same temp file. +Solution: Use the process ID for the temp name. (Ken Takata, closes #7378) +Files: src/fileio.c + +Patch 8.2.2056 +Problem: Configure fails when building with the + "implicit-function-declaration" error enabled, specifically on Mac. +Solution: Declear the functions like in the source code. (suggestion by + Clemens Lang, closes #7380) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2057 +Problem: Getting the selection may trigger TextYankPost autocmd. +Solution: Only trigger the autocommand when yanking in Vim, not for getting + the selection. (closes #7367) +Files: src/clipboard.c, src/normal.c, src/register.c, + src/testdir/test_autocmd.vim + +Patch 8.2.2058 +Problem: Using mkview/loadview changes the jumplist. +Solution: Use ":keepjumps". Don't let ":badd" or ":balt" change the + jumplist. (closes #7371) +Files: src/session.c, src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.2.2059 +Problem: Amiga: can't find plugins. +Solution: Do not use "**" in the pattern. (Ola Söder, closes #7384) +Files: src/main.c + +Patch 8.2.2060 +Problem: Check for features implemented with "if". +Solution: Use the Check commands. (Ken Takata, closes #7383) +Files: src/testdir/test_autocmd.vim, src/testdir/test_compiler.vim, + src/testdir/test_delete.vim, src/testdir/test_diffmode.vim, + src/testdir/test_expr.vim, src/testdir/test_fold.vim + +Patch 8.2.2061 +Problem: Vim9: E1030 error when using empty string for term_sendkeys(). +Solution: Don't check for an invalid type unless the terminal can't be + found. (closes #7382) +Files: src/terminal.c, src/testdir/test_termcodes.vim + +Patch 8.2.2062 +Problem: <Cmd> does not handle CTRL-V. +Solution: Call get_literal() after encountering CTRL-V. (closes #7387) +Files: src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.2063 +Problem: Vim9: only one level of indexing supported. +Solution: Handle more than one index in an assignment. +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_assign.vim + +Patch 8.2.2064 +Problem: terminal: cursor is on while redrawing, causing flicker. +Solution: Switch the cursor off while redrawing. Always add the top and + left offset to the cursor position when not done already. + (closes #5943) +Files: src/terminal.c, src/popupwin.c + +Patch 8.2.2065 +Problem: Using map() and filter() on a range() is inefficient. +Solution: Do not materialize the range. (closes #7388) +Files: src/list.c, src/testdir/test_functions.vim + +Patch 8.2.2066 +Problem: Vim9: assignment with += doesn't work. +Solution: Do not see the "+" as an addition operator. +Files: src/eval.c, src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2067 (after 8.2.2064) +Problem: Cursor position in popup terminal is wrong. +Solution: Don't check the flags. +Files: src/terminal.c, src/testdir/test_popupwin.vim + +Patch 8.2.2068 +Problem: Transparent syntax item uses start/end of containing region. +Solution: Do not change the startpos and endpos of a transparent region to + that of its containing region. (Adrian Ghizaru, closes #7349, + closes #7391) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.2069 +Problem: The quickfix window is not updated after setqflist(). +Solution: Update the quickfix buffer. (Yegappan Lakshmanan, closes #7390, + closes #7385) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.2070 +Problem: Can't get the exit value in VimLeave or VimLeavePre autocommands. +Solution: Add v:exiting like in Neovim. (Yegappan Lakshmanan, closes #7395) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/evalvars.c, + src/main.c, src/testdir/test_exit.vim, src/vim.h + +Patch 8.2.2071 +Problem: Vim9: list assign doesn't accept an empty remainder list. +Solution: Recognize list assignment with ";". +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2072 +Problem: Vim9: list assign not well tested. +Solution: Test with different destinations. Fix white space error. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2073 +Problem: Vim9: for with unpack only works for local variables. +Solution: Recognize different destinations. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2074 +Problem: Vim9: using :normal from Vim9 script can't handle range. +Solution: Execute a :normal command in legacy script context. (closes #7401) +Files: src/structs.h, src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2075 +Problem: Error for const argument to mapnew(). +Solution: Don't give an error. (closes #7400) +Files: src/list.c, src/testdir/test_filter_map.vim + +Patch 8.2.2076 +Problem: MS-Windows console: sometimes drops typed characters. +Solution: Do not wait longer than 10 msec for input. (issue #7164) +Files: src/os_win32.c + +Patch 8.2.2077 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/structs.h, src/ex_docmd.c + +Patch 8.2.2078 +Problem: Illegal memory access when using :print on invalid text. (Dhiraj + Mishra) +Solution: Check for more composing characters than supported. (closes #7399) +Files: src/message.c, src/testdir/test_utf8.vim + +Patch 8.2.2079 +Problem: Vim9: cannot put a linebreak before or after "in" of ":for". +Solution: Skip over linebreak. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2080 +Problem: Vim9: no proper error message for using s:var in for loop. +Solution: Give a specific error. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2081 +Problem: Vim9: cannot handle a linebreak after "=" in assignment. +Solution: Skip over linebreak. (closes #7407) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2082 +Problem: Vim9: can still use the depricated #{} dict syntax. +Solution: Remove support for #{} in Vim9 script. (closes #7406, closes #7405) +Files: src/dict.c, src/proto/dict.pro, src/eval.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_popupwin.vim, + src/testdir/test_textprop.vim + +Patch 8.2.2083 +Problem: Vim9: crash when using ":silent!" and getting member fails. +Solution: Jump to on_fatal_error. (closes #7412) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2084 +Problem: CTRL-V U doesn't work to enter a Unicode character when + modifyOtherKeys is effective. (Ken Takata) +Solution: Add a flag to get_literal() for the shift key. (closes #7413) +Files: src/edit.c, src/proto/edit.pro, src/ex_getln.c, src/getchar.c, + src/normal.c, src/testdir/test_termcodes.vim + +Patch 8.2.2085 +Problem: Qt translation file is recognized as typescript. +Solution: Check the first line for "<?xml". (closes #7418) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2086 +Problem: Libvterm tests are only run on Linux. +Solution: Use static libraries. (Ozaki Kiichi, closes #7419) +Files: .travis.yml, src/Makefile, src/libvterm/Makefile, + src/libvterm/t/run-test.pl + +Patch 8.2.2087 +Problem: Vim9: memory leak when statement is truncated. +Solution: Increment the number of local variables. +Files: src/vim9compile.c + +Patch 8.2.2088 +Problem: Vim9: script test sometimes fails. +Solution: Unlet variables. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2089 +Problem: Libvterm test fails to build on Mac. +Solution: Adjust configure to remove a space between -L and the path that + follows. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2090 +Problem: Vim9: dict does not accept a key in quotes. +Solution: Recognize a key in single or double quotes. +Files: runtime/doc/vim9.txt, src/dict.c, src/proto/dict.pro, + src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2091 +Problem: MS-Windows: build warnings. +Solution: Add a #pragma to suppress the deprecation warning. (Ken Takata) + Avoid using a non-ASCII character. (closes #7421) +Files: src/message.c, src/os_win32.c + +Patch 8.2.2092 +Problem: Vim9: unpredictable errors for script tests. +Solution: Use a different script file name for each run. +Files: src/testdir/vim9.vim, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_quickfix.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2093 +Problem: Vim9: script test sometimes fails. +Solution: Do not find a script variable by its typval if the name was + cleared. +Files: src/vim9script.c + +Patch 8.2.2094 +Problem: When an expression fails getting the next command may be wrong. +Solution: Do not check for a next command after :eval fails. (closes #7415) +Files: src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2095 +Problem: Vim9: crash when failed dict member is followed by concatenation. +Solution: Remove the dict from the stack. (closes #7416) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2096 +Problem: Vim9: command modifiers not restored after assignment. +Solution: Jump to nextline instead of using continue. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2097 +Problem: Vim9: using :silent! when calling a function prevents abortng that + function. +Solution: Add emsg_silent_def and did_emsg_def. +Files: src/globals.h, src/message.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2098 +Problem: Vim9: function argument of sort() and map() not tested. +Solution: Add a couple of tests. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.2099 +Problem: Vim9: some checks are not tested. +Solution: Add a few more tests. Give better error messages. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2100 +Problem: Insufficient testing for function range and dict. +Solution: Add a few tests. (Dominique Pellé, closes #7428) +Files: src/testdir/test_functions.vim, src/testdir/test_lambda.vim, + src/testdir/test_signals.vim, src/testdir/test_user_func.vim + +Patch 8.2.2101 +Problem: Vim9: memory leak when literal dict has an error and when an + expression is not complete. +Solution: Clear the typval and the growarray. +Files: src/dict.c, src/vim9compile.c + +Patch 8.2.2102 +Problem: Vim9: not all error messages tested. +Solution: Add a few test cases. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.2103 +Problem: Vim9: unreachable code. +Solution: Remove the code to prepend s: to the variable name +Files: src/vim9compile.c + +Patch 8.2.2104 +Problem: Build problem with Ruby 2.7. +Solution: Adjust function declarations. (Ozaki Kiichi, closes #7430) +Files: src/configure.ac, src/auto/configure, src/if_ruby.c + +Patch 8.2.2105 +Problem: Sound test is a bit flaky. +Solution: Use WaitForAssert(). (Dominique Pellé, closes #7429) +Files: src/testdir/test_sound.vim + +Patch 8.2.2106 +Problem: TOML files are not recognized. +Solution: Match *.toml. (issue #7432) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2107 +Problem: Vim9: some errors not tested. +Solution: Add tests. Fix getting the right error. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2108 +Problem: Vim9: no test to check for :let error. +Solution: Add a test. Rename tests from _let_ to _var_. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2109 +Problem: "vim -" does not work well when modifyOtherKeys is enabled and a + shell command is executed on startup. +Solution: Only change modifyOtherKeys when executing a shell command in raw + mode. +Files: src/os_unix.c + +Patch 8.2.2110 +Problem: Cannot use ":shell" when reading from stdin. (Gary Johnson) +Solution: Revert patch 8.2.1833. +Files: src/main.c + +Patch 8.2.2111 +Problem: GTK: Menu background is the same color as the main window. +Solution: Fix white space around the test in another way. (closes #7437, + closes #7427) +Files: src/gui_gtk_x11.c + +Patch 8.2.2112 +Problem: Running tests may leave some files behind. +Solution: Delete the right files. Fix a few typos. (Dominique Pellé, + closes #7436 +Files: src/testdir/test_filetype.vim, src/testdir/test_messages.vim, + src/testdir/test_mksession.vim + +Patch 8.2.2113 +Problem: MS-Windows GUI: crash after using ":set guifont=" four times. +Solution: Check for NULL pointer. (Ken Takata, closes #7434) +Files: src/gui_dwrite.cpp, src/testdir/test_gui.vim + +Patch 8.2.2114 +Problem: Vim9: unreachable code in assignment. +Solution: Remove impossible condition and code. +Files: src/vim9compile.c + +Patch 8.2.2115 +Problem: Vim9: some errors not tested for; dead code. +Solution: Add a test. Remove dead code. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2116 +Problem: MS-Windows GUI: test for 'guifont' is incomplete. +Solution: Set 'renderoptions'. (Christian Brabandt) +Files: src/testdir/test_gui.vim + +Patch 8.2.2117 +Problem: Some functions use any value as a string. +Solution: Check that the value is a non-empty string. +Files: src/typval.c, src/proto/typval.pro, src/mbyte.c, src/filepath.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2118 +Problem: Dead code in the job support. (Dominique Pellé) +Solution: Define USE_ARGV before checking for it. +Files: src/job.c + +Patch 8.2.2119 +Problem: GTK3: status line background color is wrong. +Solution: Don't change the code for earlier GTK3 versions. (closes #7444) +Files: src/gui_gtk_x11.c + +Patch 8.2.2120 +Problem: Not all Perl functionality is tested. +Solution: Add a few more test cases. (Dominique Pellé, closes #7440) +Files: src/testdir/test_perl.vim + +Patch 8.2.2121 +Problem: Internal error when using \ze before \zs in a pattern. +Solution: Check the end is never before the start. (closes #7442) +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_regexp_latin.vim + +Patch 8.2.2122 +Problem: Vim9: crash when sourcing vim9script early. +Solution: Use set_option_value() instead of setting p_cpo directly. + (closes #7441) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2123 +Problem: After using a complete popup the buffer is listed. (Boris + Staletic) +Solution: Make the buffer unlisted. +Files: src/popupmenu.c, src/testdir/test_popupwin.vim + +Patch 8.2.2124 +Problem: Vim9: a range cannot be computed at runtime. +Solution: Add the ISN_RANGE instruction. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2125 (after 8.2.2122) +Problem: Vim9: leaking memory. +Solution: Free the saved 'cpo' value. +Files: src/scriptfile.c + +Patch 8.2.2126 +Problem: Ruby: missing function prototype. +Solution: Add the prototype. +Files: src/if_ruby.c + +Patch 8.2.2127 +Problem: Vim9: executing user command defined in Vim9 script not tested. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2128 +Problem: There is no way to do something on CTRL-Z. +Solution: Add VimSuspend and VimResume autocommand events. (closes #7450) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/ex_docmd.c, + src/normal.c, src/testdir/test_suspend.vim, src/vim.h + +Patch 8.2.2129 +Problem: MS-Windows: Checking if a file name is absolute is slow. +Solution: Do not use mch_FullName(). (closes #7033) +Files: src/os_mswin.c + +Patch 8.2.2130 +Problem: Insert mode completion messages end up in message history. +Solution: Set msg_hist_off. (closes #7452 +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.2131 +Problem: Vim9: crash when lambda uses same var as assignment. +Solution: Do not let lookup_local change lv_from_outer, make a copy. + (closes #7461) +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2132 +Problem: Padding not drawn properly for popup window with title. +Solution: Draw the padding below the title. (closes #7460) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_longtitle_3.dump, + src/testdir/dumps/Test_popupwin_longtitle_4.dump + +Patch 8.2.2133 +Problem: Vim9: checking for a non-empty string is too strict. +Solution: Check for any string. (closes #7447) +Files: src/typval.c, src/proto/typval.pro, src/errors.h, src/filepath.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2134 +Problem: Vim9: get E1099 when autocmd triggered in builtin function. +Solution: Check that did_emsg increased instead of checking that it changed. + (closes #7448) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2135 +Problem: Vim9: #{ still seen as start of dict in some places. +Solution: Remove check for { after #. (closes #7456) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2136 +Problem: Vim9: Using uninitialized variable. +Solution: Initialize "len" to zero. Clean up fnamemodify(). +Files: src/filepath.c + +Patch 8.2.2137 +Problem: Vim9: :echo and :execute give error for empty argument. +Solution: Ignore an empty argument. (closes #7468) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2138 +Problem: Vim9: "exit_cb" causes Vim to exit. +Solution: Require white space after a command in Vim9 script. (closes #7467) + Also fix that Vim9 style heredoc was not always recognized. +Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/userfunc.c, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_let.vim + +Patch 8.2.2139 +Problem: Vim9: unreachable code in assignment. +Solution: Don't check "new_local" when "has_index" is set. Add test for + wrong type of list index. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2140 +Problem: Build failure with tiny features. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.2141 +Problem: A user command with try/catch may not catch an expression error. +Solution: When an expression fails check for following "|". (closes #7469) +Files: src/eval.c, src/testdir/test_trycatch.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.2142 +Problem: Memory leak when heredoc is not terminated. +Solution: Free heredoc_trimmed. +Files: src/userfunc.c + +Patch 8.2.2143 +Problem: Vim9: dead code in compiling :unlet. +Solution: Don't check for "!" a second time. +Files: src/vim9compile.c + +Patch 8.2.2144 +Problem: Vim9: some corner cases not tested. +Solution: Add a few tests. +Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2145 +Problem: Vim9: concatenating lists does not adjust type of result. +Solution: When list member types differ use "any" member type. + (closes #7473) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2146 +Problem: Vim9: automatic conversion of number to string for dict key. +Solution: Do not convert number to string. (closes #7474) +Files: src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2147 +Problem: Quickfix window title not updated in all tab pages. +Solution: Update the quickfix window title in all tab pages. (Yegappan + Lakshmanan, closes #7481, closes #7466) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.2148 +Problem: Vim9: crash when user command doesn't match. +Solution: Adjust command index. (closes #7479) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2149 +Problem: Popupwin test for latin1 sometimes fails. +Solution: Wait for the script to finish. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2150 +Problem: Github actions CI isn't used for all available platforms. +Solution: Update the github workflows. (Ozaki Kiichi, closes #7433) +Files: .coveralls.yml, .github/workflows/ci-windows.yaml, + .github/workflows/ci.yml, .travis.yml, README.md, + ci/build-snd-dummy.sh, ci/setup-xvfb.sh + +Patch 8.2.2151 +Problem: $dir not expanded when configure checks for moonjit. +Solution: Use double quotes instead of single quotes. (closes #7478) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2152 +Problem: screenpos() does not include the WinBar offset. +Solution: Use W_WINROW() instead of directly using w_window. (closes #7487) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.2153 +Problem: Popupwin test for latin1 still fails sometimes. +Solution: Wait for the "cat" command to finish. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2154 +Problem: Popupwin test for terminal buffer fails sometimes. +Solution: Wait for the prompt to appear. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2155 +Problem: Warning from Github actions for code analysis. +Solution: Remove the "git checkout HEAD^2" block. +Files: .github/workflows/codeql-analysis.yml + +Patch 8.2.2156 +Problem: Github actions run on pusing a tag. +Solution: Don't run CI on tag push. Omit coveralls on pull-request. + (Ozaki Kiichi, closes #7489) +Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml + +Patch 8.2.2157 +Problem: Vim9: can delete a Vim9 script variable from a function. +Solution: Check the variable is defined in Vim9 script. (closes #7483) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2158 +Problem: CI on cirrus times out, coveralls doesn't always run. +Solution: Set timeout to 20 minutes. Adjust condition. (closes #7493) +Files: .cirrus.yml, .github/workflows/ci.yml + +Patch 8.2.2159 +Problem: Vim9: when declaring a list it is not allocated yet, causing a + following extend() to fail. +Solution: When fetching a variable value for a list or dict that is null + allocate the list or dict, so it can be used. (closes #7491) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2160 +Problem: Various typos. +Solution: Fix spelling mistakes. (closes #7494) +Files: src/bufwrite.c, src/cindent.c, src/cmdexpand.c, src/eval.c, + src/ex_cmds.c, src/feature.h, src/getchar.c, src/gui_haiku.cc, + src/gui_xmdlg.c, src/help.c, src/if_ole.cpp, src/insexpand.c, + src/list.c, src/map.c, src/memline.c, src/normal.c, + src/os_win32.c, src/search.c, src/term.c, + src/testdir/test_arglist.vim, src/testdir/test_autocmd.vim, + src/testdir/test_debugger.vim, src/testdir/test_increment.vim, + src/testdir/test_menu.vim, src/testdir/test_netbeans.vim, + src/testdir/test_popupwin.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_sort.vim, + src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim, + src/testdir/test_vartabs.vim, src/testdir/test_vimscript.vim, + src/textprop.c, src/userfunc.c, src/vim9.h, src/vim9compile.c, + src/vim9execute.c + +Patch 8.2.2161 +Problem: Arguments -T and -x not tested yet. +Solution: Add a test. (Dominique Pellé, closes #7490 +Files: src/testdir/test_startup.vim + +Patch 8.2.2162 +Problem: Vim9: Cannot load or store autoload variables. +Solution: Add ISN_LOADAUTO and ISN_STOREAUTO. (closes #7485) +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/dict.c, + src/eval.c, src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2163 +Problem: Crash when discarded exception is the current exception. +Solution: Compare the execption with current_exception. (closes #7499) +Files: src/ex_eval.c + +Patch 8.2.2164 +Problem: Vim9: autoload function doesn't work in script that starts with + an upper case letter. +Solution: Check for the autoload character. (closes #7502) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2165 +Problem: Vim9: assignment to dict member does not work. +Solution: Fix recognizing dict member. (closes #7484) +Files: src/ex_docmd.c, src/eval.c, src/evalvars.c, src/vim.h + +Patch 8.2.2166 +Problem: Auto format doesn't work when deleting text. +Solution: Make "x" trigger auto format. (closes #7504) +Files: src/ops.c, src/testdir/test_textformat.vim + +Patch 8.2.2167 +Problem: Vim9: assign test fails. (Elimar Riesebieter) +Solution: Adjust the test for dict assignment. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2168 +Problem: Vim9: error for assigning to dict of dict. +Solution: Remember the destination type. (closes #7506) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2169 +Problem: Vim9: test leaves file behind. +Solution: Rename script files. (Dominique Pellé, closes #7511) + Use try/finally. +Files: src/testdir/test_vim9_script.vim, src/testdir/vim9.vim + +Patch 8.2.2170 +Problem: Vim9: a global function defined in a :def function fails if it + uses the context. +Solution: Create a partial to store the closure context. (see #7410) +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9execute.c, + src/structs.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2171 +Problem: Valgrind warning for using uninitialized value. +Solution: Do not use "startp" or "endp" unless there is a match. +Files: src/regexp_nfa.c + +Patch 8.2.2172 +Problem: Vim9: number of arguments is not always checked. (Yegappan + Lakshmanan) +Solution: Check number of arguments when calling function by name. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9execute.c, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.2173 +Problem: Vim9: get internal error when assigning to undefined variable. +Solution: Add error message. (closes #7475) +Files: src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2174 +Problem: Mac version doesn't specify the CPU architecture. +Solution: Add "arm64" or "x86_64". (Yee Cheng Chin, closes #7519) +Files: src/version.c + +Patch 8.2.2175 +Problem: Github actions: clang-11 handling suboptimal. +Solution: Separate step of installing clang-11. Get ubuntu release name + dynamically. (Ozaki Kiichi, closes #7514) +Files: .github/workflows/ci.yml + +Patch 8.2.2176 +Problem: Crash with a sequence of fold commands. +Solution: Bail out when there are no folds at all. Add a test (Dominique + Pellé) (closes #7515) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.2177 +Problem: Pattern "^" does not match if the first character in the line is + combining. (Rene Kita) +Solution: Do accept a match at the start of the line. (closes #6963) +Files: src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.2178 +Problem: Python 3: non-utf8 character cannot be handled. +Solution: Change the string decode. (Björn Linse, closes #1053) +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c, + src/testdir/test_python3.vim, src/testdir/test_python2.vim + +Patch 8.2.2179 +Problem: Vim9: crash when indexing a dict with a number. +Solution: Add ISN_STOREINDEX. (closes #7513) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/errors.h, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2180 +Problem: Vim9: test for error after error is flaky. +Solution: Wait for job to finish instead of a fixed delay. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2181 +Problem: Valgrind warnings for using uninitialized value. +Solution: Do not use "start" or "end" unless there is a match. +Files: src/regexp_nfa.c, src/regexp_bt.c + +Patch 8.2.2182 +Problem: Vim9: value of 'magic' is still relevant. +Solution: Always behave like 'magic' is on in Vim9 script (closes #7509) +Files: src/option.c, src/proto/option.pro, src/arglist.c, src/buffer.c, + src/cmdexpand.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/insexpand.c, src/normal.c, src/search.c, src/tag.c, + src/structs.h, src/globals.h, src/ex_cmds.h, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2183 +Problem: Vim9: value of 'edcompatible' and 'gdefault' are used. +Solution: Ignore these deprecated options in Vim9 script. (closes #7508) +Files: src/ex_cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2184 +Problem: Vim9: no error when using "2" for a line number. +Solution: Give an error message if the line number is invalid. (closes #7492) +Files: src/typval.c, src/evalfunc.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_cursor_func.vim + +Patch 8.2.2185 +Problem: BufUnload is not triggered for the quickfix dummy buffer. +Solution: Do trigger BufUnload. (Pontus Leitzler,closes #7518, closes #7517) + Fix white space around "=". +Files: src/quickfix.c, src/testdir/test_autocmd.vim + +Patch 8.2.2186 +Problem: Vim9: error when using 'opfunc'. +Solution: Do not expect a return value from 'opfunc'. (closes #7510) +Files: src/eval.c, src/proto/eval.pro, src/ops.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2187 +Problem: Python 3 test fails sometimes. (Christian Brabandt) +Solution: Accept two SystemError messages. +Files: src/testdir/test_python3.vim + +Patch 8.2.2188 +Problem: Vim9: crash when calling global function from :def function. +Solution: Set the outer context. Define the partial for the context on the + original function. Use a refcount to keep track of which ufunc is + using a dfunc. (closes #7525) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9execute.c, + src/proto/vim9execute.pro, src/userfunc.c, src/proto/userfunc.pro, + src/structs.h, src/vim9.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2189 +Problem: Cannot repeat a command that uses the small delete register. +Solution: Store the register name instead of the contents. (Christian + Brabandt, closes #7527) +Files: src/ops.c, src/register.c, src/testdir/test_registers.vim + +Patch 8.2.2190 +Problem: Vim9: crash when compiled with EXITFREE. +Solution: Check that df_ufunc is not NULL. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2191 +Problem: Vim9: using wrong name with lambda in nested function. +Solution: Copy the lambda name earlier. (closes #7525) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2192 +Problem: Codecov on github actions fails. +Solution: Revert to codecov script. (Ozaki Kiichi, closes #7529) +Files: Filelist, .github/workflows/ci.yml + +Patch 8.2.2193 +Problem: Vim9: can change constant in :def function. +Solution: Check if a variable is locked. (issue #7526) +Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2194 +Problem: Vim9: cannot use :const or :final at the script level. +Solution: Support using :const and :final. (closes #7526) +Files: src/vim.h, src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2195 +Problem: Failing tests for :const. +Solution: Add missing check for ASSIGN_FINAL. +Files: src/eval.c, src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2196 +Problem: :version output has extra spaces in compile and link command. +Solution: Adjust QUOTESED. (closes #7505) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2197 +Problem: Assert arguments order reversed. +Solution: Swap the arguments. (Christian Brabandt, closes #7531) +Files: src/testdir/test_registers.vim + +Patch 8.2.2198 +Problem: ml_get error when resizing window and using text property. +Solution: Validate botline of the right window. (closes #7528) +Files: src/move.c, src/proto/move.pro, src/textprop.c, + src/testdir/test_textprop.vim + +Patch 8.2.2199 +Problem: First write after setting 'eol' does not have NL added. (Tomáš + Janoušek) +Solution: Only use b_no_eol_lnum when doing a binary write. (closes #7535) +Files: src/bufwrite.c, src/testdir/test_writefile.vim + +Patch 8.2.2200 +Problem: Vim9: lambda without white space around -> is confusing. +Solution: Require white space in a :def funtion. (issue #7503) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2201 +Problem: Write file test fails on MS-Windows. +Solution: Force edit after setting 'fileformat'. +Files: src/testdir/test_writefile.vim + +Patch 8.2.2202 +Problem: Write file test still fails on MS-Windows. +Solution: Set fileformat with the :edit command +Files: src/testdir/test_writefile.vim + +Patch 8.2.2203 +Problem: Moodle gift files are not recognized. +Solution: Add a filetype pattern. (Delim Temizer) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2204 +Problem: Vim9: using -> both for method and lambda is confusing. +Solution: Use => for lambda in :def function. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2205 +Problem: Vim9: memory leak when parsing lambda fails. +Solution: Clear growarrays. +Files: src/userfunc.c + +Patch 8.2.2206 +Problem: :exe command line completion only works for first argument. +Solution: Skip over text if more is following. (closes #7546) +Files: src/eval.c, src/testdir/test_cmdline.vim + +Patch 8.2.2207 +Problem: Illegal memory access if popup menu items are changed while the + menu is visible. (Tomáš Janoušek) +Solution: Make a copy of the text. (closes #7537) +Files: src/popupmenu.c, src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_command_04.dump, + src/testdir/dumps/Test_popup_command_05.dump + +Patch 8.2.2208 +Problem: Vim9: after reloading a script variable index may be invalid. +Solution: When the sequence number doesn't match give an error for using a + script-local variable from a compiled function. (closes #7547) +Files: src/vim9.h, src/structs.h, src/errors.h, src/vim9compile.c, + src/vim9execute.c, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2209 +Problem: Vim9: return type of => lambda not parsed. +Solution: Parse and use the return type. +Files: src/vim9compile.c, src/userfunc.c, src/vim9type.c, + src/proto/vim9type.pro, src/vim9script.c, src/eval.c + src/testdir/test_vim9_expr.vim + +Patch 8.2.2210 +Problem: Vim9: allocating a type to set TTFLAG_BOOL_OK. +Solution: Add t_number_bool. +Files: src/globals.h, src/vim9type.c, src/vim9compile.c + +Patch 8.2.2211 +Problem: MS-Windows: can't load Python dll if not in the path. +Solution: Use the InstallPath registry entry. (Kelvin Lee, closes #7540) +Files: src/if_python3.c + +Patch 8.2.2212 +Problem: Vim9: lambda with => does not work at the script level. +Solution: Make it work. +Files: src/eval.c, src/vim9type.c, src/userfunc.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2213 +Problem: Checking white space around -> is not backwards compatible. +Solution: Only check white space around =>. +Files: src/userfunc.c + +Patch 8.2.2214 +Problem: ":e#" does not give a warning for missing white space. +Solution: Adjust the check for white space. (closes #7545) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2215 +Problem: Vim9: `=expr` not recognized in global command. +Solution: Skip over pattern. (issue #7541) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2216 +Problem: Vim9: range with missing colon can be hard to spot. +Solution: Include the start of the range in the error. (closes #7543) +Files: src/errors.h, src/ex_docmd.c, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2217 +Problem: Vim9: command modifiers not restored in catch block. +Solution: Restore command modifiers. (closes #7542) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2218 +Problem: Vim9: failure if passing more arguments to a lambda than expected. +Solution: Only put expected arguments on the stack. (closes #7548) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2219 +Problem: Vim9: method call with expression not supported. +Solution: Implement expr->(expr)(). +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2220 +Problem: Vim9: memory leak when parsing nested parenthesis. +Solution: Clear newargs. +Files: src/userfunc.c + +Patch 8.2.2221 +Problem: If <Down> is mapped on the command line 'wildchar' is inserted. +Solution: Set KeyTyped when using 'wildchar'. (closes #7552) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.2222 +Problem: Vim9: cannot keep script variables when reloading. +Solution: Add the "noclear" argument to :vim9script. +Files: runtime/doc/vim9.txt, src/structs.h, src/scriptfile.c, + src/vim9script.c, src/ex_cmds.h, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2223 +Problem: Vim9: Reloading marks a :def function as deleted. +Solution: Clear the function contents but keep the index. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2224 +Problem: Vim9: crash if script reloaded with different variable type. +Solution: Check the type when accessing the variable. +Files: src/vim9execute.c, src/vim9compile.c, src/vim9.h, src/vim9type.c, + src/proto/vim9type.pro, src/errors.h, src/evalvars.c, + src/vim9script.c, src/proto/vim9script.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.2225 +Problem: Vim9: error when using :import in legacy script twice. +Solution: Make it possible to redefine an import when reloading. +Files: src/vim9script.c, src/proto/vim9script.pro, src/structs.h, + src/evalvars.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2226 +Problem: Vim9: script test fails. +Solution: Add missing change. +Files: src/scriptfile.c + +Patch 8.2.2227 +Problem: Vim9: recognizing lambda is too complicated. +Solution: Call compile_lambda() and check for NOTDONE. +Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2228 +Problem: Vim9: cannot use ":e #" because # starts a comment. +Solution: Support using %% instead of #. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2229 +Problem: build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.2230 +Problem: Vim9: insert completion runs into error. +Solution: Insert colon before range. (closes #7556) +Files: src/insexpand.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2231 +Problem: When "--remote file" is used "file" is not reloaded. +Solution: When a :drop command is used for a file that is already displayed + in a window and it has not been changed, check if it needs to be + reloaded. (closes #7560) +Files: src/ex_cmds.c, src/testdir/test_clientserver.vim + +Patch 8.2.2232 +Problem: Compiler error for falling through into next case. +Solution: Move FALLTHROUGH below the #endif +Files: src/ex_docmd.c + +Patch 8.2.2233 +Problem: Cannot convert a byte index into a character index. +Solution: Add charidx(). (Yegappan Lakshmanan, closes #7561) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.2234 +Problem: Command line wildmenu test often fails with Unix GUI. +Solution: Skip the test where it is expected to fail. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.2235 +Problem: Build failure with some Ruby versions. +Solution: Adjust the code for Ruby 3.0. (Ozaki Kiichi, closes #7564) +Files: ci/config.mk.clang.sed, src/if_ruby.c + +Patch 8.2.2236 +Problem: 'scroll' option can change when setting the statusline or tabline + but the option context is not updated. +Solution: Update the script context when the scroll option is changed as a + side effect. (Christian Brabandt, closes #7533) +Files: runtime/doc/options.txt, src/scriptfile.c, + src/testdir/test_options.vim, src/vim.h, src/window.c + +Patch 8.2.2237 +Problem: CI on Mac fails in sed command. +Solution: Set LC_ALL to "C". (Ozaki Kiichi, closes #7565) +Files: .github/workflows/ci.yml + +Patch 8.2.2238 +Problem: Vim9: cannot load a Vim9 script without the +eval feature. +Solution: Support Vim9 script syntax without the +eval feature. +Files: src/ex_docmd.c, src/vim9script.c, src/globals.h, src/main.c, + src/autocmd.c, src/buffer.c, src/structs.h, src/menu.c, + src/scriptfile.c, src/usercmd.c, src/proto.h, src/errors.h + +Patch 8.2.2239 +Problem: Vim9: concatenating lines with backslash is inconvenient. +Solution: Support concatenating lines starting with '|', useful for + :autocmd, :command, etc. (closes #6702) +Files: runtime/doc/vim9.txt, src/scriptfile.c, src/vim9script.c, + src/proto/vim9script.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/userfunc.c, src/structs.h, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2240 +Problem: Clientserver test fails if full path is used. +Solution: Ignore the path preceding the file name. +Files: src/testdir/test_clientserver.vim + +Patch 8.2.2241 +Problem: Build with Ruby and clang may fail. +Solution: Adjust congigure and sed script. (Ozaki Kiichi, closes #7566) +Files: ci/config.mk.clang.sed, src/auto/configure, src/configure.ac + +Patch 8.2.2242 +Problem: Vim9: line continuation with bar does not work at script level. +Solution: Check for Vim9 script. +Files: src/structs.h, src/ex_docmd.c, src/userfunc.c, src/scriptfile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2243 +Problem: Crash when popup mask contains zeroes. +Solution: Check boundaries properly. (closes #7569) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2244 +Problem: Crash when making the window width of the not-current window + negative. +Solution: Make sure the window width is not negative. (closes #7568) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.2.2245 +Problem: Vim9: return value of winrestcmd() cannot be executed. +Solution: Put colons before each range. (closes #7571) +Files: src/evalwindow.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2246 +Problem: Cursor keys not recognized at the hit-Enter prompt after executing + an external command. +Solution: Change the codes for the extra cursor keys. (closes #7562) + Tune the delays to avoid test flakyness. +Files: runtime/doc/term.txt, src/term.c, src/testdir/test_terminal3.vim + +Patch 8.2.2247 +Problem: VMS: various smaller problems. +Solution: Fix VMS building and other problems. (Zoltan Arpadffy) +Files: src/term.c, src/gui_gtk_vms.h, src/os_vms_conf.h, src/gui_x11.c, + src/Make_vms.mms, src/macros.h, src/gui.h, src/os_unix.h + +Patch 8.2.2248 +Problem: ASAN error on exit with GUI. +Solution: Check the window still has lines. (Christian Brabandt, + closes #7573) +Files: src/term.c + +Patch 8.2.2249 +Problem: Termcodes test is flaky when used over ssh with X forwarding. +Solution: Set 'mousetime' to a larger value. (Dominique Pellé, closes #7576, + closes #7563) +Files: src/testdir/test_termcodes.vim + +Patch 8.2.2250 +Problem: Vim9: sublist is ambiguous. +Solution: Require white space around the colon. (closes #7409) +Files: src/vim9compile.c, src/eval.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2251 +Problem: Test failures in legacy script. +Solution: Check for Vim9 script. +Files: src/eval.c + +Patch 8.2.2252 +Problem: Vim9: crash when using lambda without return type in dict. +Solution: Without a return type use t_unknown. (closes #7587) +Files: src/vim9type.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2253 +Problem: Vim9: expr test fails. +Solution: Add missing assignment. +Files: src/userfunc.c + +Patch 8.2.2254 +Problem: Vim9: bool option type is number. +Solution: Have get_option_value() return a different value for bool and + number options. (closes #7583) +Files: src/option.h, src/option.c, src/proto/option.pro, src/evalvars.c, + src/if_mzsch.c, src/if_ruby.c, src/spell.c, src/typval.c, + src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2255 (after 8.2.2254) +Problem: Tcl test fails. +Solution: Change option handling. +Files: src/if_tcl.c + +Patch 8.2.2256 +Problem: Vim9: cannot use function( after line break in :def function. +Solution: Check for "(" after "function". (closes #7581) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2257 +Problem: Vim9: using -> for lambda is ambiguous. +Solution: Stop supporting ->, must use =>. +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2258 +Problem: Not all OCaml related files are detected. +Solution: Update OCaml file type detection. (Markus Mottl, closes #7590) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2259 +Problem: Test_Executable() fails when using chroot. +Solution: Ignore the difference between "sbin" and "bin". +Files: src/testdir/test_functions.vim + +Patch 8.2.2260 +Problem: Window resize test fails in very wide terminal. +Solution: Resize using the 'columns' option. (Vladimir Lomov, closes #7592) +Files: src/testdir/test_window_cmd.vim + +Patch 8.2.2261 +Problem: Vim9: boolean option gets string type. +Solution: Check for VAR_BOOL. (closes #7588) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2262 +Problem: Vim9: converting bool to string prefixes v:. +Solution: Do not use the v: prefix. +Files: src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2263 +Problem: Vim9: compilation error with try-catch in skipped block. +Solution: Do not bail out when generate_instr() returns NULL. (closes #7584) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2264 +Problem: Vim9: no error for mismatched :endfunc or :enddef. +Solution: Check for the mismatch. (issue #7582) +Files: src/errors.h, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2265 +Problem: Error message for missing endfunc/enddef is last line. +Solution: Report the line where the function starts. (closes #7582) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2266 +Problem: Vim9: it can be hard to see where white space is missing. +Solution: Mention the text where the error was seen. (closes #7580) +Files: src/errors.h, src/eval.c, src/evalvars.c, src/userfunc.c, + src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2267 +Problem: Vim9: cannot use unlet for a dict member. +Solution: Pass GLV_NO_DECL to get_lval(). (closes #7585) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2268 +Problem: Vim9: list unpack seen as declaration. +Solution: Check for "var". (closes #7594) +Files: src/vim9compile.c, src/evalvars.c, src/eval.c, src/vim.h, + src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2269 +Problem: Not all :hardcopy code covered by tests. +Solution: Test more combinations. (Dominique Pellé, closes #7595) +Files: src/testdir/test_hardcopy.vim + +Patch 8.2.2270 +Problem: Warning for size_t to int conversion. (Randall W. Morris) +Solution: Add a type cast. +Files: src/vim9execute.c + +Patch 8.2.2271 +Problem: ml_get error when changing hidden buffer in Python. +Solution: Block updating folds. (closes #7598) +Files: src/evalbuffer.c, src/testdir/test_python3.vim + +Patch 8.2.2272 +Problem: Vim9: extend() can violate the type of a variable. +Solution: Add the type to the dictionary or list and check items against it. + (closes #7593) +Files: src/structs.h, src/evalvars.c, src/dict.c, src/list.c, + src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, + src/vim9execute.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2273 +Problem: Build failure. +Solution: Add missing changes to header file. +Files: src/vim9.h + +Patch 8.2.2274 +Problem: badge for Travis is outdated. +Solution: Update badge for move from travis-ci.org to travis-ci.com. +Files: README.md + +Patch 8.2.2275 +Problem: CTRL-C not recognized in Mintty. +Solution: Recognize the modifyOtherKeys code ending in "u". (Christian + Brabandt, closes #7575) +Files: src/ui.c + +Patch 8.2.2276 +Problem: List of distributed files is outdated. +Solution: Update the file list. Minor comment updates. +Files: Filelist, src/clipboard.c, src/fileio.c, src/option.c, + src/screen.c, src/testdir/test_signals.vim, + src/testdir/Make_vms.mms + +Patch 8.2.2277 +Problem: Missing backslash. +Solution: Add backslash. +Files: Filelist + +Patch 8.2.2278 +Problem: Falling back to old regexp engine can some patterns. +Solution: Do not fall back once [[:lower:]] or [[:upper:]] is used. + (Christian Brabandt, closes #7572) +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.2279 +Problem: Vim9: memory leak with catch in skipped block. +Solution: Free the pattern if not used. +Files: src/vim9compile.c + +Patch 8.2.2280 +Problem: Fuzzy matching doesn't give access to the scores. +Solution: Return the scores with a third list. (Yegappan Lakshmanan, + closes #7596) +Files: runtime/doc/eval.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.2281 +Problem: Vim9: compiled "wincmd" cannot be followed by bar. +Solution: Check for bar after "wincmd". (closes #7599) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2282 +Problem: Length check mismatch with argument of strncmp(). (Christian + Brabandt) +Solution: Adjust length check. +Files: src/ui.c + +Patch 8.2.2283 +Problem: Vim9: crash when lambda has fewer arguments than expected. +Solution: Don't check arguments when already failed. (closes #7606) +Files: src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2284 +Problem: Vim9: cannot set an option to a boolean value. +Solution: Check for VAR_BOOL. (closes #7603) +Files: src/evalvars.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2285 +Problem: Vim9: cannot set an option to a false. +Solution: For VAR_BOOL use string "0". (closes #7603) +Files: src/evalvars.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2286 +Problem: Sort test fails when locale is Canadian English. (Neil H Watson) +Solution: Expect a different sort order. (closes #7609) +Files: src/testdir/test_sort.vim + +Patch 8.2.2287 +Problem: Sort test fails when locale is French Canadian. +Solution: Expect a different sort order. (Dominique Pellé, closes #7609) +Files: src/testdir/test_sort.vim + +Patch 8.2.2288 +Problem: Vim9: line break and comment not always skipped. +Solution: Skip over white space and then line break more consistently. + (closes #7610) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2289 +Problem: Vim9: 'cpo' can become empty. +Solution: Use empty_option instead of an empty string. Update quickfix + buffer after restoring 'cpo'. (closes #7608) +Files: src/evalfunc.c, src/syntax.c, src/eval.c, src/quickfix.c, + src/evalbuffer.c, src/ex_eval.c, src/gui_motif.c, src/map.c, + src/testdir/test_quickfix.vim + +Patch 8.2.2290 +Problem: Vim9: unlet of global variable cannot be compiled. +Solution: Skip over variables that might be defined later. Give an error if + a subscript is found. (closes #7585) +Files: src/eval.c, src/vim9compile.c, src/vim.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2291 +Problem: Vim9: cannot use "null" for v:null. +Solution: Support "null" like "true" and "false". (closes #7495) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2292 +Problem: Vim: expr test fails. +Solution: Add missing part of "null" support. +Files: src/eval.c + +Patch 8.2.2293 +Problem: Build failure with Motif. (Tony Mechelynck) +Solution: Use empty_option instead of empty_options. +Files: src/gui_motif.c + +Patch 8.2.2294 +Problem: VMS: a few remaining problems. +Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy) +Files: src/fileio.c, src/os_vms_conf.h, src/Make_vms.mms, src/macros.h, + src/os_vms.c, src/vim9execute.c, src/gui_xmebw.c, src/os_unix.h + +Patch 8.2.2295 +Problem: Incsearch does not detect empty pattern properly. +Solution: Return magic state when skipping over a pattern. (Christian + Brabandt, closes #7612, closes #6420) +Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/globals.h, + src/option.c, src/tag.c, src/proto/regexp.pro, src/regexp.c, + src/search.c, src/structs.h, src/vim9compile.c, + src/testdir/dumps/Test_incsearch_sub_01.dump, + src/testdir/dumps/Test_incsearch_sub_02.dump, + src/testdir/test_search.vim + +Patch 8.2.2296 +Problem: Cannot use CTRL-N and CTRL-P in a popup menu. +Solution: Use CTRL-N like <Down> and CTRL-P like <Up>. (closes #7614) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.2.2297 +Problem: Vim9: cannot set 'number' to a boolean value. +Solution: Use tv_get_bool(). (closes #7615) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2298 +Problem: Vim9: comment right after "(" of function not recognized. +Solution: Do not skip over white space before calling get_function_args(). + (closes #7613) +Files: src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2299 +Problem: Vim9: invalid memory access making error message flaky. +Solution: Do not check cmd_argt for CMD_USER. (issue #7467) +Files: src/ex_docmd.c, src/vim9execute.c, src/errors.h, + src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2300 +Problem: Vim9: wrong order on type stack when using dict. +Solution: Generate constants before a dict. (closes #7619) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2301 +Problem: Vim9: cannot unlet a dict or list item. +Solution: Add ISN_UNLETINDEX. Refactor assignment code to use for unlet. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2302 +Problem: Vim9: using an option value may use uninitialized memory. +Solution: Clear v_lock. (closes #7620) +Files: src/typval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2303 +Problem: Vim9: backtick expansion doesn't work for :foldopen. +Solution: Do recognize backtick expansion. (closes #7621) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2304 +Problem: Vim9: no test for unletting an imported variable. +Solution: Add a test. Fix line number in error. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2305 +Problem: Vim9: "++var" and "--var" are silently accepted. +Solution: Give an error message. +Files: src/vim9compile.c, src/eval.c, src/proto/eval.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2306 +Problem: Vim9: when using function reference type is not checked. +Solution: When using a function reference lookup the type and check the + argument types. (issue #7629) +Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c, src/structs.h, + src/vim9type.c, src/proto/vim9type.pro, src/vim9compile.c, + src/vim9execute.c, src/evalvars.c, src/evalfunc.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2307 +Problem: A shell command in the vimrc causes terminal output. +Solution: Do not call starttermcap() after a shell command if the termcap + wasn't active before. +Files: src/ex_cmds.c + +Patch 8.2.2308 +Problem: Vim9: no error when assigning lambda to funcref without return + value. +Solution: Default return value to "any". (closes #7629) +Files: src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.2309 +Problem: 0o777 not recognized as octal. +Solution: Use vim_isodigit(). (Ken Takata, closes #7633, closes #7631) +Files: src/charset.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.2310 +Problem: Vim9: winsaveview() return type is too generic. +Solution: use dict<number> instead of dict<any>. (closes #7626) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2311 +Problem: Vim9: cannot assign to a variable that shadows a command modifier. +Solution: Check for assignment after possible command modifier. + (closes #7632) +Files: src/vim9compile.c, src/ex_docmd.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2312 +Problem: Build failure with Ruby 3.0 and 32 bits. +Solution: Add #ifdef. (closes #7638) +Files: src/if_ruby.c + +Patch 8.2.2313 +Problem: Vim9: using uninitialized field when parsing range. ":silent!" not + respected when parsing range fails. +Solution: Initialize ea.skip. On pattern failure handle it like an error. + (closes #7636) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2314 +Problem: Vim9: returning zero takes two instructions. +Solution: Add ISN_RETURN_ZERO. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2315 +Problem: Vim9: "enddef" as dict key misintepreted as function end. +Solution: Check for following colon. (closes #7640) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2316 +Problem: Vim9: cannot list a lambda function. +Solution: Support the <lambda>9 notation, like :disassemble. (closes #7634) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2317 +Problem: Vim9: command modifier before list unpack doesn't work. +Solution: Only recognize "[" directly after the name. (closes #7641) +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2318 +Problem: Vim9: string and list index work differently. +Solution: Make string index work like list index. (closes #7643) +Files: src/eval.c, src/proto/eval.pro, src/vim9execute.c, src/list.c, + src/proto/vim9execute.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.2319 +Problem: "exptype_T" can be read as "expected type". +Solution: Rename to "exprtype_T", expression type. +Files: src/eval.c, src/typval.c, src/proto/typval.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/vim9execute.c, src/structs.h, + src/vim9.h + +Patch 8.2.2320 +Problem: Vim9: no error for comparing bool with string. +Solution: Check for wrong types when comparing. (closes #7639) +Files: src/typval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.2321 +Problem: Vim9: cannot nest closures. +Solution: Add the nesting level to ISN_LOADOUTER and ISN_STOREOUTER. + (closes #7150, closes #7635) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2322 +Problem: Vim9: closure nested limiting to one level. +Solution: Add outer_T. Also make STOREOUTER work. +Files: src/vim9execute.c, src/vim9.h, src/structs.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.2323 +Problem: Vim9: error when inferring type from empty dict/list. +Solution: When the member is t_unknown use t_any. (closes #7009) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2324 +Problem: Not easy to get mark en cursor position by character count. +Solution: Add functions that use character index. (Yegappan Lakshmanan, + closes #7648) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c, + src/evalfunc.c, src/proto/eval.pro, src/tag.c, + src/testdir/test_cursor_func.vim, src/typval.c + +Patch 8.2.2325 +Problem: Vim9: crash if map() changes the item type. +Solution: Check that the item type is still OK. (closes #7652) + Fix problem with mapnew() on range list. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/list.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.2326 +Problem: Build error with +eval feature but without +spell. +Solution: Adjust #ifdef. (John Marriott) +Files: src/mbyte.c + +Patch 8.2.2327 +Problem: Debugging code included. +Solution: Remove the debugging code. +Files: src/vim9execute.c + +Patch 8.2.2328 +Problem: Some test files may not be deleted. +Solution: Add a delete() call, correct name. (Dominique Pellé, closes #7654) +Files: src/testdir/test_clientserver.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2329 +Problem: Not all ways Vim can be started are tested. +Solution: Add a test for different program names. (Dominique Pellé, + closes #7651) +Files: src/testdir/test_startup.vim + +Patch 8.2.2330 +Problem: Vim9: crash when using :trow in a not executed block. +Solution: Don't generate the instruction when skipping. (closes #7659) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2331 +Problem: Vim9: wrong error when modifying dict declared with :final. +Solution: Do not check for writable variable when an index follows. + (closes #7657) +Files: src/vim9compile.c, src/structs.h, src/vim9script.c, + src/proto/vim9script.pro, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2332 +Problem: Vim9: missing :endif not reported when using :windo. +Solution: Pass a getline function to do_cmdline(). (closes #7650) +Files: src/vim9execute.c, src/structs.h, src/scriptfile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2333 +Problem: Vim9: warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize "res". +Files: src/vim9execute.c + +Patch 8.2.2334 +Problem: Pascal-like filetypes not always detected. +Solution: Improved Puppet, InstantFPC and Pascal detection. (Doug Kearns, + closes #7662) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.2335 +Problem: Vim9: "silent return" does not restore command modifiers. +Solution: Resture command modifiers before returning. (closes #7649) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2336 +Problem: Vim9: it is not possible to extend a dictionary with different + item types. +Solution: Add extendnew(). (closes #7666) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/testdir/test_listdict.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2337 +Problem: Configure test for GTK only says "no". (Harm te Hennepe) +Solution: Hint that a -def package is needed. (closes #5229) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2338 +Problem: Vim9: no error if using job_info() result wrongly. +Solution: Adjust return type on number of arguments. (closes #7667) +Files: src/evalfunc.c, src/globals.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2339 +Problem: Cannot get the type of a value as a string. +Solution: Add typename(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vimscript.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2340 +Problem: win_execute() unexpectedly returns number zero when failing. +Solution: Return an empty string. (closes #7665) +Files: src/evalwindow.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_execute_func.vim + +Patch 8.2.2341 +Problem: Expression command line completion shows variables but not + functions after "g:". (Gary Johnson) +Solution: Prefix "g:" when needed to a global function. +Files: src/evalfunc.c, src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_cmdline.vim + +Patch 8.2.2342 +Problem: "char" functions return the wront column in Insert mode when the + cursor is beyond the end of the line. +Solution: Compute the column correctly. (Yegappan Lakshmanan, closes #7669) +Files: src/eval.c, src/evalfunc.c, src/testdir/test_cursor_func.vim + +Patch 8.2.2343 +Problem: Vim9: return type of readfile() is any. +Solution: Add readblob() so that readfile() can be expected to always + return a list of strings. (closes #7671) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/filepath.c, src/proto/filepath.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2344 +Problem: Using inclusive index for slice is not always desired. +Solution: Add the slice() method, which has an exclusive index. (closes + #7408) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/eval.c, src/proto/eval.pro, src/vim9execute.c, + src/proto/vim9execute.pro, src/list.c, src/proto/list.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2345 +Problem: No focus events in a terminal. +Solution: Add the t_fd and t_fe termcap entries and implement detecting + focus events. (Hayaki Saito, Magnus Groß, closes #7673, + closes #609, closes #5526) +Files: runtime/doc/term.txt, src/optiondefs.h, src/term.c, src/term.h + +Patch 8.2.2346 +Problem: Codecov reports every little coverage drop. +Solution: Tolerate a 0.05% drop. Hide the appveyor config file. (Ozaki + Kiichi, closes #7678) +Files: .appveyor.yml, appveyor.yml, .codecov.yml + +Patch 8.2.2347 +Problem: Build failure without GUI. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.2.2348 (after 8.2.2345) +Problem: No check for modified files after focus gained. (Mathias Stearn) +Solution: Call ui_focus_change(). +Files: src/term.c, src/ui.c + +Patch 8.2.2349 +Problem: Vim9: cannot handle line break after parenthesis at line end. +Solution: Skip over line break. (closes #7677) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2350 +Problem: Using "void" for no reason. +Solution: Use "char *". +Files: src/ex_docmd.c + +Patch 8.2.2351 +Problem: Vim9: error message for "throw" in function that was called with + "silent!". +Solution: Do not throw the exception when not caught or displayed. + (closes #7672) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2352 +Problem: If the focus lost/gained escape sequence is received twice it is + not ignored. (Christ van Willigen) +Solution: Adjust the logic to ignore the escape code. +Files: src/term.c + +Patch 8.2.2353 +Problem: Spartql files are not detected. +Solution: Add the sparql filetype. (closes #7679) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2354 +Problem: Crash with a weird combination of autocommands. +Solution: Increment b_nwindows when needed. (closes #7674) +Files: src/ex_cmds.c, src/buffer.c, src/proto/buffer.pro, + src/testdir/test_autocmd.vim + +Patch 8.2.2355 +Problem: Stray test failure on Appveyor. +Solution: Finish insert command. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2356 +Problem: Vim9: ":put =expr" does not handle a list properly. +Solution: Use the same logic as eval_to_string_eap(). (closes #7684) +Files: src/vim9execute.c, src/eval.c, src/proto/eval.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2357 +Problem: Vim9: crash when parsing function return type fails. +Solution: Bail out and set return type to "unknown". (closes #7685) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2358 +Problem: Wrong #ifdef for use_xterm_like_mouse(). +Solution: Use FEAT_MOUSE_XTERM. +Files: src/term.c + +Patch 8.2.2359 +Problem: Strange test failure with MS-Windows. +Solution: Skip the system() call for now. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2360 +Problem: Test leaves file behind. +Solution: Delete the right file. (Dominique Pellé, closes #7689) +Files: src/testdir/test_filetype.vim + +Patch 8.2.2361 +Problem: Vim9: no highlight for "s///gc" when using 'opfunc'. +Solution: Reset 'lazyredraw' temporarily. (closes #7687) +Files: src/ex_cmds.c + +Patch 8.2.2362 +Problem: Vim9: check of builtin function argument type is incomplete. +Solution: Use need_type() instead of check_arg_type(). +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/evalfunc.c, + src/proto/evalfunc.pro, src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2363 +Problem: curpos() does not accept a string argument as before. +solution: Make a string argument work again. (Yegappan Lakshmanan, + closes #7690 +Files: src/evalfunc.c, src/testdir/test_cursor_func.vim + +Patch 8.2.2364 +Problem: Vim9: line break in lambda accesses freed memory. +Solution: Make a copy of the return type. (closes #7664) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2365 +Problem: Vim9: no check for map() changing item type at script level. +Solution: Check the new value type. +Files: src/list.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2366 +Problem: When using ":sleep" the cursor is always displayed. +Solution: Do not display the cursor when using ":sleep!". (Jeremy Lerner, + closes #7688) +Files: runtime/doc/index.txt, runtime/doc/various.txt, src/ex_cmds.h, + src/ex_docmd.c, src/normal.c, src/proto/ex_docmd.pro, src/term.c, + src/testdir/Make_all.mak, src/testdir/test_sleep.vim + +Patch 8.2.2367 +Problem: Test failures on some less often used systems. +Solution: Adjust printf formats and types. (James McCoy, closes #7691) +Files: src/errors.h, src/evalfunc.c, src/list.c, src/vim9execute.c + +Patch 8.2.2368 +Problem: Insufficient tests for setting options. +Solution: Add a few tests. (Dominique Pellé, closes #7695) +Files: src/testdir/test_options.vim + +Patch 8.2.2369 +Problem: Vim9: functions return true/false but can't be used as bool. +Solution: Add ret_number_bool(). (closes #7693) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2370 +Problem: Vim9: command fails in catch block. +Solution: Reset force_abort and need_rethrow. (closes #7692) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2371 +Problem: Vim9: crash when using types in :for with unpack. +Solution: Check for skip_var_list() failing. Pass include_type to + skip_var_one(). Skip type when compiling. (closes #7694) +Files: src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2372 (after 8.2.2371) +Problem: Confusing error message for wrong :let command. +Solution: Only check for type in Vim9 script. +Files: src/evalvars.c + +Patch 8.2.2373 +Problem: Vim9: list assignment only accepts a number index. +Solution: Accept "any" and do a runtime type check. (closes #7694) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2374 +Problem: Accessing uninitialized memory in test_undo. +Solution: Do not look in typebuf.tb_buf if it is empty. (Dominique Pellé, + closes #7697) +Files: src/edit.c + +Patch 8.2.2375 +Problem: Test for RGB color skipped in the terminal. +Solution: Run the GUI if possible. +Files: src/testdir/test_highlight.vim + +Patch 8.2.2376 +Problem: Vim9: crash when dividing by zero in compiled code using + constants. +Solution: Call num_divide() and num_modulus(). (closes #7704) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2377 +Problem: Vim9: crash when using a range after another expression. +Solution: Set the variable type to number. Fix using :put with a range and + the "=" register. (closes #7706) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2378 +Problem: Vim9: no error message for dividing by zero. +Solution: Give an error message. (issue #7704) +Files: src/errors.h, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2379 +Problem: Finding spell suggestions twice if 'spellsuggest' contains number. +Solution: Only do internal suggestions once. (closes #7713) +Files: src/spellsuggest.c + +Patch 8.2.2380 +Problem: Vim9: occasional crash when using try/catch and a timer. +Solution: Save and restore "need_rethrow" when invoking a timer callback. + (closes #7708) +Files: src/time.c + +Patch 8.2.2381 +Problem: Vim9: divide by zero does not abort expression execution. +Solution: Use a "failed" flag. (issue #7704) +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/vim9compile.c, + src/testdir/vim9.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.2382 (after 8.2.2381) +Problem: Build failure. +Solution: Add missing changes. +Files: src/vim9execute.c + +Patch 8.2.2383 +Problem: Focus escape sequences are not named in ":set termcap" output. +Solution: Add the names to the list. (closes #7718) +Files: src/misc2.c + +Patch 8.2.2384 +Problem: Turtle filetype not recognized. +Solution: Add a rule to detect turtle files. (closes #7722) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2385 +Problem: "gj" and "gk" do not work correctly when inside a fold. +Solution: Move check for folding. (closes #7724, closes #4095) +Files: src/normal.c, src/testdir/test_fold.vim + +Patch 8.2.2386 +Problem: Vim9: crash when using ":silent! put". +Solution: When ignoring an error for ":silent!" rewind the stack and skip + ahead to restoring the cmdmod. (closes #7717) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2387 +Problem: Runtime type check does not mention argument index. +Solution: Add ct_arg_idx. (closes #7720) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2388 +Problem: No easy way to get the maximum or mininum number value. +Solution: Add v:numbermax and v:numbermin. +Files: src/evalvars.c, src/vim.h, src/testdir/test_eval_stuff.vim, + runtime/doc/eval.txt + +Patch 8.2.2389 +Problem: Test failure on a few systems. +Solution: Avoid that "char" value is negative. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h + +Patch 8.2.2390 +Problem: Vim9: using positive offset is unexpected. +Solution: Use int8_T instead of char. (James McCoy) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.2391 +Problem: Memory leak when creating a global function with closure. +Solution: Create a separate partial for every instantiated function. +Files: src/userfunc.c, src/vim9execute.c + +Patch 8.2.2392 +Problem: Fennel filetype not recognized. +Solution: Detect with pattern and hashbang. (Chinmay Dalal, closes #7729) +Files: runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.2393 +Problem: Vim9: error message when script line starts with "[{". +Solution: Do not give an error for checking for end of list. +Files: src/dict.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2394 +Problem: Vim9: min() and max() return type is "any". +Solution: Use return type "number". (closes #7728) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2395 +Problem: Vim9: error for wrong type may report wrong line number. +Solution: Save and restore the line number when evaluating the expression. + (closes #7727) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2396 +Problem: Vim9: no white space allowed before "->". +Solution: Allow for white space. (closes #7725) +Files: src/ex_docmd.c, src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2397 +Problem: Vim9: "%%" not seen as alternate file name for commands with a + buffer name argument. +Solution: Recognize "%%" like "#". (closes #7732) +Files: src/buffer.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2398 (after 8.2.2396) +Problem: Method test fails. +Solution: Adjust test for allowed white space. +Files: src/testdir/test_method.vim + +Patch 8.2.2399 (after 8.2.2385) +Problem: Fold test fails in wide terminal. +Solution: Adjust the test. (Dominique Pelle, closes #7731, closes #7739) +Files: src/testdir/test_fold.vim + +Patch 8.2.2400 +Problem: Vim9: compiled functions are not profiled. +Solution: Add initial changes to profile compiled functions. Fix that a + script-local function was hard to debug. +Files: runtime/doc/repeat.txt, src/vim9.h, src/vim9compile.c, + src/vim9execute.c, src/userfunc.c, src/proto/vim9compile.pro, + src/structs.h, src/vim9type.c, src/debugger.c, src/ex_cmds.h, + src/ex_docmd.c, src/profiler.c, src/proto/profiler.pro, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_profile.vim + +Patch 8.2.2401 +Problem: Build fails without +profiling feature. +Solution: Add #ifdefs. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/structs.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2402 +Problem: Some filetypes not detected. +Solution: Detect Ruby Signature and Puppet related files. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2403 +Problem: Vim9: profiling if/elseif/endif not correct. +Solution: Add profile instructions. Fix that "elseif" was wrong. +Files: src/vim9compile.c, src/testdir/test_profile.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2404 +Problem: Vim9: profiling try/catch not correct. +Solution: Add profile instructions. Fix that "entry" did not rethrow an + excpetion. +Files: src/vim9compile.c, src/vim9execute.c, src/testdir/test_profile.vim + +Patch 8.2.2405 +Problem: Vim9: no need to allow white space before "(" for :def. +Solution: Give an error for stray white space. (issue #7734) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2406 +Problem: Vim9: profiled :def function leaks memory. +Solution: Delete the profiled instructions. +Files: src/vim9compile.c + +Patch 8.2.2407 +Problem: Old jumplist code is never used. +Solution: Delete the dead code. (Yegappan Lakshmanan, closes #7740) +Files: src/mark.c + +Patch 8.2.2408 +Problem: MinGW: "--preprocessor" flag no longer supported. +Solution: Remove the flag, use the defaults. (Christopher Wellons, + closes #7741) +Files: src/GvimExt/Make_ming.mak, src/Make_cyg_ming.mak + +Patch 8.2.2409 +Problem: Vim9: profiling only works for one function. +Solution: Select the right instructions when calling and returning. + (closes #7743) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_profile.vim + +Patch 8.2.2410 +Problem: Build failure without the +profiling feature. +Solution: Add dummy argument to macro. +Files: src/vim9.h + +Patch 8.2.2411 +Problem: Profile test fails on MS-Windows. +Solution: Do the profiling in a separate Vim command. +Files: src/testdir/test_profile.vim + +Patch 8.2.2412 +Problem: Not all fields in "cstack" are initialized which might cause a + crash. +Solution: Use CLEAR_FIELD(). +Files: src/ex_docmd.c + +Patch 8.2.2413 +Problem: Crash when using :all while using a cmdline window. (Zdenek Dohnal) +Solution: Disallow :all from the cmdline window. +Files: src/arglist.c, src/ex_getln.c, src/testdir/test_arglist.vim + +Patch 8.2.2414 +Problem: Using freed memory when closing the cmdline window. +Solution: Check the window is still valid. +Files: src/ex_getln.c + +Patch 8.2.2415 +Problem: No way to check for the cmdwin feature, cmdline_hist is now always + enabled. +Solution: Add has('cmdwin') support. Skip arglist test on Windows + temporarily. +Files: runtime/doc/cmdline.txt, src/evalfunc.c, + src/testdir/test_autocmd.vim, src/testdir/test_arglist.vim, + src/testdir/test_cmdline.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_tabpage.vim, + src/testdir/test_termcodes.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.2416 +Problem: May get stuck in command line window state. +Solution: Reset "cmdwin_type" when editing buffer fails. Make arglist test + pass on MS-Windows. +Files: src/ex_getln.c, src/testdir/test_arglist.vim + +Patch 8.2.2417 +Problem: Condition stack values may be used when not set. +Solution: Clear cs_script_var_len and cs_block_id just in case they get used + later. (issue #7733) +Files: src/ex_eval.c + +Patch 8.2.2418 +Problem: Color not changed if ModeMsg highlight is set in InsertEnter + autocmd event. (Paul Swanson) +Solution: Call highlight_changed() after triggering InsertEnter. + (closes #7751) +Files: src/edit.c + +Patch 8.2.2419 +Problem: Autocmd test was failing on MS-Windows with GUI. +Solution: Remove stray feedkeys(). +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2420 +Problem: Too many problems with using all autocommand events. +Solution: Disallow defining an autocommand for all events. +Files: src/autocmd.c, src/errors.h, src/testdir/test_autocmd.vim, + src/testdir/test_quickfix.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.2421 +Problem: Double free when using autocommand with "argdel". (Houyunsong) +Solution: Add the arglist_locked flag. +Files: src/arglist.c, src/testdir/test_autocmd.vim + +Patch 8.2.2422 +Problem: Crash when deleting with line number out of range. (Houyunsong) +Solution: Avoid using a negative line number. +Files: src/normal.c, src/testdir/test_ex_mode.vim + +Patch 8.2.2423 (after 8.2.2422) +Problem: Missing error message. +Solution: Add the error message. +Files: src/errors.h + +Patch 8.2.2424 +Problem: Some tests are known to cause an error with ASAN. +Solution: Add CheckNotAsan. +Files: src/testdir/check.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_memory_usage.vim, src/testdir/test_ex_mode.vim + +Patch 8.2.2425 +Problem: Cursor on invalid line with range and :substitute. +Solution: Do not move the cursor when skipping commands. (closes #3434) +Files: src/ex_cmds.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.2426 +Problem: Allowing 'completefunc' to switch windows causes trouble. +Solution: use "textwinlock" instead of "textlock". +Files: src/insexpand.c, src/testdir/test_ins_complete.vim, + src/testdir/test_popup.vim + +Patch 8.2.2427 +Problem: Can still switch windows for 'completefunc'. +Solution: Also disallow switching windows for other completions. +Files: src/insexpand.c, src/testdir/test_ins_complete.vim, + src/testdir/test_popup.vim + +Patch 8.2.2428 +Problem: FocusGained does not work when 'ttymouse' is empty. +Solution: Don't use the short mouse code if there is a longer matching code. + (closes #7755) Add a test. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.2429 +Problem: :goto does not work correctly with text properties. (Sam McCall) +Solution: Add a test. (Andrew Radev) Also use the text property size when + computing the remaining offset. (closes #5930) +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.2430 +Problem: :vimgrep expands wildcards twice. +Solution: Do not expand wildcards a second time. +Files: src/quickfix.c, src/arglist.c, src/testdir/test_quickfix.vim + +Patch 8.2.2431 +Problem: Warning for -fno-strength-reduce with Clang 11. +Solution: Adjust check for clang version number. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2432 +Problem: Libvterm tests are executed even when libtool doesn't work. +Solution: Only run libvterm tests if /usr/bin/gcc exists. +Files: src/Makefile + +Patch 8.2.2433 +Problem: Opening cmdline window gives error in BufLeave autocommand. +Solution: Reset cmdwin_type when triggering the autocommand. +Files: src/ex_cmds.c, src/testdir/test_cmdline.vim + +Patch 8.2.2434 +Problem: Vim9: no error when compiling str2nr() with a number. +Solution: Add argument type checks. (closes #7759) +Files: src/evalfunc.c, src/typval.c, src/proto/typval.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2435 +Problem: setline() gives an error for some types. +Solution: Allow any type, convert each item to a string. +Files: runtime/doc/eval.txt, src/evalbuffer.c, src/typval.c, + src/proto/typval.pro, src/debugger.c, src/vim9execute.c, + src/testdir/test_bufline.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2436 +Problem: Vim9 script test is a bit flaky. +Solution: Wait longer for exit callback. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2437 +Problem: Deprecation warnings with default configuration. +Solution: Add -Wno-deprecated-declarations. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2438 +Problem: Out of bounds compiler warning. +Solution: Increase the size of uf_name. +Files: src/structs.h + +Patch 8.2.2439 +Problem: Not easy to figure out what packages to get when installing Vim on + a new Ubuntu system. +Solution: Mention explicit commands that are easy to follow. +Files: src/INSTALL + +Patch 8.2.2440 +Problem: Documentation based on patches is outdated. +Solution: Add changes to documentation in a patch. +Files: runtime/doc/arabic.txt, runtime/doc/autocmd.txt, + runtime/doc/change.txt, runtime/doc/channel.txt, + runtime/doc/cmdline.txt, runtime/doc/debugger.txt, + runtime/doc/develop.txt, runtime/doc/digraph.txt, + runtime/doc/editing.txt, runtime/doc/eval.txt, + runtime/doc/filetype.txt, runtime/doc/ft_sql.txt, + runtime/doc/gui.txt, runtime/doc/gui_w32.txt, + runtime/doc/gui_x11.txt, runtime/doc/hangulin.txt, + runtime/doc/helphelp.txt, runtime/doc/help.txt, + runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt, + runtime/doc/if_tcl.txt, runtime/doc/indent.txt, + runtime/doc/index.txt, runtime/doc/insert.txt, + runtime/doc/intro.txt, runtime/doc/map.txt, runtime/doc/mbyte.txt, + runtime/doc/message.txt, runtime/doc/mlang.txt, + runtime/doc/motion.txt, runtime/doc/netbeans.txt, + runtime/doc/options.txt, runtime/doc/os_dos.txt, + runtime/doc/os_haiku.txt, runtime/doc/os_unix.txt, + runtime/doc/os_vms.txt, runtime/doc/os_win32.txt, + runtime/doc/pattern.txt, runtime/doc/pi_getscript.txt, + runtime/doc/pi_logipat.txt, runtime/doc/pi_netrw.txt, + runtime/doc/pi_tar.txt, runtime/doc/pi_vimball.txt, + runtime/doc/pi_zip.txt, runtime/doc/popup.txt, + runtime/doc/print.txt, runtime/doc/quickfix.txt, + runtime/doc/quickref.txt, runtime/doc/recover.txt, + runtime/doc/remote.txt, runtime/doc/repeat.txt, + runtime/doc/rileft.txt, runtime/doc/sign.txt, + runtime/doc/spell.txt, runtime/doc/starting.txt, + runtime/doc/syntax.txt, runtime/doc/tabpage.txt, + runtime/doc/tagsrch.txt, runtime/doc/terminal.txt, + runtime/doc/term.txt, runtime/doc/testing.txt, + runtime/doc/textprop.txt, runtime/doc/tips.txt, + runtime/doc/todo.txt, runtime/doc/uganda.txt, + runtime/doc/undo.txt, runtime/doc/usr_02.txt, + runtime/doc/usr_03.txt, runtime/doc/usr_04.txt, + runtime/doc/usr_05.txt, runtime/doc/usr_07.txt, + runtime/doc/usr_08.txt, runtime/doc/usr_10.txt, + runtime/doc/usr_11.txt, runtime/doc/usr_20.txt, + runtime/doc/usr_22.txt, runtime/doc/usr_23.txt, + runtime/doc/usr_24.txt, runtime/doc/usr_27.txt, + runtime/doc/usr_30.txt, runtime/doc/usr_31.txt, + runtime/doc/usr_40.txt, runtime/doc/usr_41.txt, + runtime/doc/usr_42.txt, runtime/doc/usr_44.txt, + runtime/doc/usr_45.txt, runtime/doc/usr_46.txt, + runtime/doc/usr_90.txt, runtime/doc/usr_toc.txt, + runtime/doc/various.txt, runtime/doc/version5.txt, + runtime/doc/version6.txt, runtime/doc/version7.txt, + runtime/doc/version8.txt, runtime/doc/vi_diff.txt, + runtime/doc/vim9.txt, runtime/doc/visual.txt, + runtime/doc/windows.txt + +Patch 8.2.2441 +Problem: Vim9: extend() does not give an error for a type mismatch. +Solution: Check the type of the second argument. (closes #7760) +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2442 +Problem: Automatic GUI selection does not check for GTK 3. +Solution: Make SKIP_GTK3 empty for automatic GUI support. Set SKIP_GTK3 to + YES when checking for GTK2. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2443 +Problem: Vim9: no compile time error for wrong str2float argument. +Solution: Check argument type. (closes #7759) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2444 +Problem: Vim9: compile error with combination of operator and list. +Solution: Generate constants before parsing a list or dict. (closes #7757) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2445 +Problem: Vim9: no proper error for lambda missing return type. +Solution: Check for this error. (closes #7758) +Files: src/errors.h, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2446 +Problem: Setting 'term' empty has different error if compiled with GUI. +Solution: Insert "else". (closes #7766) +Files: src/optionstr.c, src/testdir/test_options.vim + +Patch 8.2.2447 +Problem: 'foldlevel' not applied to folds restored from session. +Solution: Set 'foldlevel' after creaiting the folds. (closes #7767) +Files: src/fold.c, src/testdir/test_mksession.vim + +Patch 8.2.2448 +Problem: Compilation error with Ruby 3.0. +Solution: Adjust #ifdefs and declaration. (Ken Takata, closes #7761) +Files: src/if_ruby.c + +Patch 8.2.2449 +Problem: Vim9: flatten() always changes the list type. +Solution: Disallow using flatten() and add flattennew(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/errors.h, src/vim9compile.c, + src/testdir/test_flatten.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2450 +Problem: MS-Windows: ADS was not preserved if 'backupcopy' is "yes". +Solution: Copy ADS before truncating the file. (Ken Takata, closes #7762) +Files: src/bufwrite.c + +Patch 8.2.2451 +Problem: MS-Windows: Extended Attributes not preserved. +Solution: Preserve Extended Attributes when writing a file. (Ken Takata, + closes #7765) +Files: src/os_win32.c + +Patch 8.2.2452 +Problem: No completion for the 'filetype' option. +Solution: Add filetype completion. (Martin Tournoij, closes #7747) +Files: src/option.c, src/optiondefs.h, src/testdir/test_options.vim + +Patch 8.2.2453 +Problem: Vim9: a variable name with "->" in the next line doesn't work. +Solution: Recognize a variable name by itself. (closes #7770) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2454 +Problem: Leading space can not be made visible. +Solution: Add "lead:" to 'listchars'. (closes #7772) +Files: runtime/doc/options.txt, src/drawline.c, src/globals.h, + src/message.c, src/screen.c, src/testdir/test_listchars.vim + +Patch 8.2.2455 +Problem: Vim9: key type that can be used for literal dict and indexing is + inconsistent. +Solution: Allow using number and bool as key for a literal dict. (#7771) +Files: runtime/doc/vim9.txt, src/dict.c, src/eval.c, src/vim9compile.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2456 +Problem: Coverity warning for strcpy() into fixed size array. +Solution: Add a type cast to hopefully silence the bogus warning. +Files: src/userfunc.c + +Patch 8.2.2457 +Problem: Coverity warns for memory leak. +Solution: Free memory when out of memory. +Files: src/if_cscope.c + +Patch 8.2.2458 +Problem: Coverity warns for :retab using freed memory. +Solution: Use the updated line pointer when moving text properties. +Files: src/indent.c + +Patch 8.2.2459 +Problem: Coverity reports dead code. +Solution: Remove the dead code. +Files: src/eval.c + +Patch 8.2.2460 +Problem: Coverity warns for unused value. +Solution: Do not reset the return value to OK. +Files: src/vim9compile.c + +Patch 8.2.2461 +Problem: Coverity warns for unchecked return value. +Solution: Add "(void)" to avoid the warning. +Files: src/vim9execute.c + +Patch 8.2.2462 +Problem: Coverity warns for not checking for fseek() error. +Solution: Give an error message if fseek() fails. +Files: src/spellfile.c + +Patch 8.2.2463 +Problem: Using :arglocal in an autocommand may use freed memory. + (houyunsong) +Solution: Check if the arglist is locked. +Files: src/arglist.c, src/testdir/test_autocmd.vim + +Patch 8.2.2464 +Problem: Using freed memory if window closed in autocommand. (houyunsong) +Solution: Check the window still exists. +Files: src/ex_cmds.c, src/testdir/test_autocmd.vim + +Patch 8.2.2465 +Problem: Using freed memory in :psearch. (houyunsong) +Solution: Check the current window is still valid. Fix flaky test. +Files: src/search.c, src/testdir/test_autocmd.vim + +Patch 8.2.2466 +Problem: Max() and min() can give many error messages. +Solution: Bail out at the first error. (closes #1039, closes #7778) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.2.2467 +Problem: Script generated by :mkview changes alternate file. +Solution: Only write :balt in the session file. (Harish Rajagopal, + closes #7779) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2468 +Problem: Not easy to get the full command name from a shortened one. +Solution: Add fullcommand(). (Martin Tournoij, closes #7777) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/ex_docmd.c, src/proto/evalfunc.pro, + src/testdir/test_cmdline.vim + +Patch 8.2.2469 +Problem: Confusing error if :winsize has a wrong argument. +Solution: Quote the argument in the error. (closes #2523) +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.2470 +Problem: Popup_getoptions() does not get textprop from other tab. +Solution: use win_valid_any_tab(). (closes #7786) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2471 +Problem: Popup_setoptions() does not set textprop in other tab. +Solution: use win_valid_any_tab(). (closes #7788) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2472 +Problem: Crash when using command line window in an autocommand. + (houyunsong) +Solution: Save and restore au_new_curbuf. +Files: src/ex_cmds.c, src/testdir/test_autocmd.vim + +Patch 8.2.2473 +Problem: Crash when leaving command line window triggers autocommand. + (houyunsong) +Solution: Make sure not to close the current window or buffer. +Files: src/ex_getln.c, src/testdir/test_autocmd.vim + +Patch 8.2.2474 +Problem: Using freed memory when window is closed by autocommand. + (houyunsong) +Solution: Check the window pointer is still valid. +Files: src/quickfix.c, src/testdir/test_autocmd.vim + +Patch 8.2.2475 +Problem: Autocommand tests hangs on MS-Windows. +Solution: Skip one test. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2476 +Problem: Using freed memory when using an autocommand to split a window + while a buffer is being closed. +Solution: Disallow splitting when the buffer has b_locked_split set. +Files: src/buffer.c, src/window.c, src/errors.h, src/structs.h, + src/popupwin.c, src/testdir/test_autocmd.vim + +Patch 8.2.2477 +Problem: Autocommand tests hang on MS-Windows. +Solution: Skip a couple of tests. Fix file name. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2478 +Problem: MS-Windows: backup files for plugins are loaded. +Solution: Do not use the alternate file name for files ending in "~". +Files: src/filepath.c + +Patch 8.2.2479 +Problem: set/getbufline test fails without the job feature. +Solution: Check whether the job feature is supported. (Dominique Pellé, + closes #7790) +Files: src/testdir/test_bufline.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2480 +Problem: Vim9: some errors for white space do not show context. +Solution: Include the text at the error. +Files: src/errors.h, src/dict.c, src/list.c, src/userfunc.c, + src/vim9compile.c, src/vim9script.c, src/vim9type.c + +Patch 8.2.2481 +Problem: Vim9: confusing error when variable arguments have a default + value. +Solution: Give a specific error message. (closes #7793) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2482 +Problem: Build error. +Solution: Add new error message. +Files: src/errors.h + +Patch 8.2.2483 +Problem: Vim9: type error for misformed expression. +Solution: Check for end of command before checking type. (closes #7795) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2484 +Problem: Vim9: Cannot use a comment starting with #{ after an expression. +Solution: Remove the check for "{" since #{ dictionaries are not supported. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2485 +Problem: When sourcing a script again the script version isn't reset. +Solution: Set sn_version to one when sourcing a script again. Clear + sn_save_cpo properly. (closes #7608) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2486 +Problem: Vim9: some errors for white space do not show context. +Solution: Include the text at the error. +Files: src/errors.h, src/dict.c, src/list.c, src/userfunc.c, + src/vim9compile.c, src/vim9type.c + +Patch 8.2.2487 +Problem: Terminal shows garbage after double-wide character with a + combining character. (Kyoichiro Yamada) +Solution: Libvterm: do not add the width of the combining character to the + glyph width. (closes #7801) +Files: src/libvterm/src/state.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_combining.dump + +Patch 8.2.2488 +Problem: json_encode() gives generic argument error. +Solution: Mention the type that can't be encoded. (issue #7802) +Files: src/json.c, src/errors.h, src/testdir/test_json.vim + +Patch 8.2.2489 +Problem: current buffer is wrong after deletebufline() fails to delete a + line in another buffer. +Solution: Restore the current buffer. +Files: src/evalbuffer.c, src/testdir/test_bufline.vim + +Patch 8.2.2490 +Problem: 'wrap' option is always reset when starting diff mode. +Solution: Add the "followwrap" item in 'diffopt'. (Rick Howe, closes #7797) +Files: runtime/doc/diff.txt, runtime/doc/options.txt, src/diff.c, + src/testdir/test_diffmode.vim + +Patch 8.2.2491 +Problem: Popup window for text property may show in first screen line. +Solution: If the text position is invisible do not show the popup window. + (closes #7807) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popup_prop_not_visible_01.dump, + src/testdir/dumps/Test_popup_prop_not_visible_02.dump, + src/testdir/dumps/Test_popup_prop_not_visible_03.dump + +Patch 8.2.2492 +Problem: Command line buffer name cannot be translated. +Solution: Add _(). (Gabriel Dupras, closes #7812) +Files: src/ex_getln.c + +Patch 8.2.2493 +Problem: Text property for text left of window shows up. +Solution: Check if the text property ends before the current column. + (closes #7806) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_nowrap_01.dump, + src/testdir/dumps/Test_textprop_nowrap_02.dump + +Patch 8.2.2494 +Problem: ":rviminfo!" clears most of oldfiles. +Solution: Add VIF_ONLY_CURBUF to read_viminfo(). (closes #1781) +Files: src/viminfo.c, src/vim.h + +Patch 8.2.2495 +Problem: Text jumps up and down when moving the cursor in a small window + with wrapping text and 'scrolloff' set. +Solution: Adjust the computation of w_skipcol. (partly by Ghjuvan Lacambre, + closes #7813) +Files: src/move.c, src/testdir/test_breakindent.vim + +Patch 8.2.2496 (after 8.2.2495) +Problem: Insufficien testing for text jumping fix. +Solution: Add another test case. +Files: src/testdir/test_breakindent.vim + +Patch 8.2.2497 +Problem: No error when using more than one character for a register name. +Solution: In Vim9 script check for a single character string. (closes #7814) + Fix that VAR_BOOL and VAR_SPECIAL are not considered equal. +Files: src/errors.h, src/evalfunc.c, src/typval.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2498 +Problem: No test for what 8.2.2494 fixes. +Solution: Add a simple change to test the fix. (closes #7818) +Files: src/testdir/test_viminfo.vim + +Patch 8.2.2499 +Problem: "vim -g --version" does not redirect output. +Solution: Reset gui.starting when showing version info. (closes #7815) +Files: src/main.c, src/testdir/test_version.vim + +Patch 8.2.2500 (after 8.2.2499) +Problem: Build fails without the GUI feature. +Solution: Add #ifdef. +Files: src/main.c + +Patch 8.2.2501 +Problem: Not always clear where an error is reported. +Solution: Add the where_T structure and pass it around. (closes #7796) +Files: src/structs.h, src/vim9type.c, src/proto/vim9type.pro, + src/errors.h, src/evalvars.c, src/proto/evalvars.pro, src/eval.c, + src/proto/eval.pro, src/vim9execute.c, src/vim9script.c, + src/proto/vim9script.pro, src/dict.c, src/list.c, + src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2502 +Problem: A few github actions are failing. +Solution: Install setuptools-rust. (closes #7823) +Files: .github/workflows/ci.yml + +Patch 8.2.2503 +Problem: Vim9: a caught error may leave something on the stack. +Solution: Drop items from the stack if needed. (closes #7826) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2504 +Problem: Vim9: crash when using an argument from a closure. +Solution: Check if gen_load_outer is NULL. (closes #7821) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2505 +Problem: Vim9: crash after defining function with invalid return type. +Solution: Clear function growarrays. Fix memory leak. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2506 +Problem: Vim9: :continue does not work correctly in a :try block +Solution: Add the TRYCLEANUP instruction. (closes #7827) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2507 +Problem: Github build may fail if Ubuntu 20.04 is used. Installing rust is + not needed. +Solution: Specify ubuntu-18.04 instead of latest. Update "pip" instead of + installing rust. (Ozaki Kiichi, closes #7820) +Files: .github/workflows/ci.yml + +Patch 8.2.2508 +Problem: Cannot change the character displayed in non existing lines. +Solution: Add the "eob" item to 'fillchars'. (closes #7832, closes #3820) +Files: runtime/doc/options.txt, runtime/doc/todo.txt, + runtime/doc/windows.txt, src/drawscreen.c, src/globals.h, + src/optiondefs.h, src/screen.c, src/testdir/test_display.vim + +Patch 8.2.2509 +Problem: Tests fail on s390 build. +Solution: Initialize trycmd_T. +Files: src/vim9execute.c + +Patch 8.2.2510 +Problem: Internal error when popup with mask is zero height or width. +Solution: Bail out if width or height is zero. (closes #7831) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2511 +Problem: Vim9: cannot use Vim9 script syntax in some places. +Solution: Add the :vim9cmd command modifier. Incompatible: Makes ":vim9" + mean ":vim9cmd" instead of ":vim9script". +Files: runtime/doc/vim9.txt, runtime/doc/repeat.txt, src/ex_docmd.c, + src/ex_cmds.h, src/structs.h, src/ex_cmdidxs.h, src/errors.h, + src/testdir/test_vim9_cmd.vim, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_1.dump, + src/testdir/dumps/Test_wildmenu_2.dump, + src/testdir/dumps/Test_wildmenu_3.dump, + src/testdir/dumps/Test_wildmenu_4.dump, + src/testdir/test_quickfix.vim + +Patch 8.2.2512 +Problem: Vim9: compiling error test sometimes fails. +Solution: use WaitForAssert() instead of sleeping for a bit. (Dominique + Pellé, closes #7837) +Files: src/testdir/term_util.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2513 (after 8.2.2511) +Problem: Vim9: missing part of :vim9cmd change. +Solution: Use command modifier in in_vim9script(). +Files: src/vim9script.c + +Patch 8.2.2514 (after 8.2.2511) +Problem: Vim9: build error in tiny version. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.2515 +Problem: Memory access error when truncating an empty message. +Solution: Check for an empty string. (Dominique Pellé, closes #7841) +Files: src/message.c, src/message_test.c + +Patch 8.2.2516 +Problem: Test failure on s390. (analyses by James McCoy) +Solution: Only set the try_finally label when not skipping. +Files: src/vim9compile.c + +Patch 8.2.2517 +Problem: Vim9: fix for s390 not tested on other systems. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2518 +Problem: 'listchars' should be window-local. +Solution: Make 'listchars' global-local. (Yegappan Lakshmanan, Marco Hinz, + closes #5206, closes #7850) +Files: runtime/doc/options.txt, src/buffer.c, src/charset.c, + src/drawline.c, src/drawscreen.c, src/evalfunc.c, src/globals.h, + src/indent.c, src/message.c, src/misc1.c, src/option.c, + src/option.h, src/optiondefs.h, src/optionstr.c, + src/proto/screen.pro, src/screen.c, src/structs.h, + src/testdir/test_listchars.vim, src/testdir/test_listlbr.vim + +Patch 8.2.2519 +Problem: Vim9: no reason to keep strange Vi behavior. +Solution: ":3" and ":3|" both go to line 3. ":|" does not print the line. + (closes #7840) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2520 +Problem: Missing tests for 'listchars'. +Solution: Add a few more checks. (Yegappan Lakshmanan, closes #7854) +Files: src/testdir/test_listchars.vim + +Patch 8.2.2521 +Problem: Some compilers can't handle pointer initialization. (John + Marriott) +Solution: Use a local struct and assign it afterwards. +Files: src/screen.c + +Patch 8.2.2522 +Problem: Beancount filetype not recognized. +Solution: Add a detection rule. (Brian Ryall, closes #7859) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2523 +Problem: Svelte filetype not recognized. +Solution: Add a detection rule. (Brian Ryall, closes #7858) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2524 +Problem: Cannot change the characters displayed in the foldcolumn. +Solution: Add fields to 'fillchars'. (Yegappan Lakshmanan, Matthieu Coudron, + closes #7860) +Files: runtime/doc/options.txt, src/globals.h, src/mouse.c, src/screen.c, + src/testdir/test_display.vim + +Patch 8.2.2525 +Problem: Vim9: only local variables checked for a name. +Solution: Also check arguments and script variables. (closes #7838) +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2526 (after 8.2.2525) +Problem: Build failure. +Solution: Change lookup_scriptvar() arguments. +Files: src/evalvars.c, src/proto/evalvars.pro + +Patch 8.2.2527 +Problem: Vim9: lambda return type is not determined at script level. +Solution: Compile the lambda to get the return type. (closes #7843) +Files: src/eval.c, src/vim.h, src/vim9.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2528 +Problem: Vim9: crash when compiling lambda fails. +Solution: Bail out after compilation fails. (closes #7862) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2529 +Problem: Vim9: Not possible to use legacy and Vim9 script in one file. +Solution: Vim9: allow for "if false" before :vim9script. (closes #7851) +Files: runtime/doc/vim9.txt, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2530 +Problem: Vim9: not enough testing for profiling. +Solution: Add a test with nested functions and a lambda. Fix profiling + for calling a compiled function. +Files: src/profiler.c, src/proto/profiler.pro, src/userfunc.c, + src/vim9execute.c, src/testdir/test_profile.vim + +Patch 8.2.2531 +Problem: Vim9: the :k command is obscure. +Solution: Disallow using :k, can use :mark instead. (closes #7874) +Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/vim9script.c, + src/vim9compile.c, src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.2532 +Problem: Vim9: confusing error if :k is used with a range. +Solution: Give an error about the range. (issue #7874) +Files: src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2533 +Problem: Vim9: cannot use a range with :unlet. +Solution: Implement ISN_UNLETRANGE. +Files: src/errors.h, src/eval.c, src/evalvars.c, src/list.c, + src/proto/evalvars.pro, src/proto/list.pro, src/vim9.h, + src/vim9compile.c, src/vim9execute.c + src/testdir/test_vim9_assign.vim + +Patch 8.2.2534 +Problem: Missing test coverage. +Solution: Improve test coverage for completion with different encodings, + mapset(), and term function failures. (Dominique Pellé, + closes #7877) +Files: src/testdir/test_edit.vim, src/testdir/test_maparg.vim, + src/testdir/test_terminal3.vim + +Patch 8.2.2535 +Problem: MS-Windows: cannot run all vim9 tests. +Solution: Make test_vim9 target work. +Files: src/Make_mvc.mak + +Patch 8.2.2536 +Problem: Coverity complains about unchecked return value. +Solution: Add (void). +Files: src/userfunc.c + +Patch 8.2.2537 +Problem: Vim9: crash when map() fails. +Solution: Clear typval before using it. (closes #7884) +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2538 +Problem: Crash when using Python list iterator. +Solution: Increment the list reference count. (closes #7886) +Files: src/if_py_both.h, src/testdir/test_python3.vim + +Patch 8.2.2539 +Problem: Vim9: return from finally block causes a hang. +Solution: Store both the finally and endtry indexes. (closes #7885) +Files: src/vim9execute.c, src/vim9compile.c, src/vim9.h, + src/testdir/test_vim9_script.vim, + +Patch 8.2.2540 +Problem: Vim9: no error for using script var name for argument. +Solution: Check for this error. (closes #7868) +Files: src/userfunc.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2541 +Problem: Popup_create() does not allow boolean for "cursorline". +Solution: Use dict_get_bool(). (issue #7869) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2542 +Problem: Highlight of char beyond line end is not correct. (Chuan Wei Foo) +Solution: Fix counting NUL as one cell. Draw one more character if the EOL + is part of the match. (closes #7883) +Files: src/match.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_1.dump, + src/testdir/dumps/Test_hlsearch_2.dump + +Patch 8.2.2543 +Problem: Vim9: a return inside try/catch does not restore exception state + properly. +Solution: When there is no ":finally" jump to ":endtry". (closes #7882) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2544 +Problem: Vim9: error for argument when checking for lambda. +Solution: Respect the skip flag. (closes #7887) +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2545 +Problem: Errors and crash when terminal window is zero height. (Leonid V. + Fedorenchik) +Solution: Do not resize when width or height is zero. (closes #7890) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.2546 +Problem: Typo in mouse key name. +Solution: Fix the typo. (issue #4725) +Files: src/misc2.c + +Patch 8.2.2547 +Problem: "%" command not accurate for big files. +Solution: Make it more accurate for files up to 21M lines. (Dominique Pellé, + closes #7889) +Files: src/normal.c + +Patch 8.2.2548 +Problem: May get stuck in the cmdline window using :normal. +Solution: Have nv_esc() return K_IGNORE. +Files: src/normal.c + +Patch 8.2.2549 +Problem: Crash after using "g:" in a for loop. +Solution: Increment the reference count. (closes #7892) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2550 +Problem: Signal stack size is wrong with latest glibc 2.34. +Solution: Use sysconf(_SC_SIGSTKSZ) if available. (Zdenek Dohnal, closes + #7895) +Files: src/config.h.in, src/configure.ac, src/os_unix.c, + src/auto/configure + +Patch 8.2.2551 +Problem: MS-Windows: colors test file is not installed. +Solution: Also copy runtime/colors/tools. (Ken Takata, closes #7902) +Files: nsis/gvim.nsi + +Patch 8.2.2552 +Problem: Vim9: no reason to consider "{{{{{{{{" a command. +Solution: Just use "{". (issue #7904) +Files: src/ex_cmds.h + +Patch 8.2.2553 +Problem: Vim9: Cannot put "|" after "{". +Solution: Add the EX_TRLBAR flag. (issue #7904) +Files: src/ex_cmds.h, src/ex_eval.c + +Patch 8.2.2554 +Problem: Vim9: exporting a final is not tested. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2555 +Problem: Vim9: missing test for 8.2.2553. +Solution: Add a simple test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2556 +Problem: Vim9: :import with "as" not fully supported. +Solution: Implement "as" for more cases. +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2557 +Problem: Compiler warning for shadowed variable. +Solution: Declare "p" only once. +Files: src/vim9script.c + +Patch 8.2.2558 +Problem: No error if a lambda argument shadows a variable. +Solution: Check that the argument name shadows a local, argument or script + variable. (closes #7898) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/vim9script.c, src/errors.h, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.2559 +Problem: MS-Windows: guifont test fails on Windows XP. +Solution: Check windowsversion(). +Files: src/testdir/test_gui.vim + +Patch 8.2.2560 +Problem: Setting 'winminheigt' does not take tabline into account. +Solution: Subtract the tabline from the available height. (closes #7899) +Files: src/window.c, src/testdir/test_options.vim + +Patch 8.2.2561 +Problem: Not all textprop code is covered by tests. +Solution: Add a few more test cases. (Dominique Pellé, closes #7908) +Files: src/testdir/test_textprop.vim + +Patch 8.2.2562 +Problem: GUI: star register changed when 'clipboard is "unnamedplus". (Ingo + Karkat) +Solution: Do not change the star register when 'clipboard' contains + "unnamedplus" and not "unnamed". (closes #1516) +Files: src/register.c + +Patch 8.2.2563 +Problem: Cannot use multibyte characters for folding in 'fillchars'. +Solution: Port pull request 11568 to Vim. (Yegappan Lakshmanan, + closes #7924) +Files: src/drawline.c, src/drawscreen.c, src/macros.h, + src/proto/screen.pro, src/screen.c, src/testdir/test_fold.vim, + src/testdir/test_profile.vim + +Patch 8.2.2564 +Problem: Focus events end Insert mode if 'esckeys' is not set. +Solution: Do not enable focus events when 'esckeys' is off. (closes #7926) +Files: src/term.c + +Patch 8.2.2565 +Problem: Vim9: "..=" not always recognized. +Solution: Do not consider "..=" to be string concatenation. (closes #7905) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2566 +Problem: Vim9: Function name is not recognized. +Solution: Change lookup_scriptvar() to also find function names. + (closes #7770) +Files: src/vim9script.c, src/evalvars.c, src/proto/evalvars.pro, + src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2567 +Problem: Vim9: no error if variable is defined for existing function. +Solution: Check if name isn't already in use. (closes #7897) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2568 +Problem: Second time a preview popup is opened highlight is not set. + (Gabriel Dupras) +Solution: Apply 'previewpopup' after getting the file. (closes #7928) +Files: src/tag.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump + +Patch 8.2.2569 +Problem: 'fillchars' "stl" and "stlnc" items must be single byte. +Solution: Accept multi-byte characters. (Christian Wellenbrock, Yegappan + Lakshmanan, closes #7927) +Files: runtime/doc/options.txt, src/buffer.c, src/macros.h, src/screen.c, + src/testdir/test_fold.vim, src/testdir/test_statusline.vim + +Patch 8.2.2570 +Problem: Tests fail when run as root. +Solution: Add a comment mentioning the expected failure. (issue #7919) +Files: src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_help.vim, src/testdir/test_writefile.vim + +Patch 8.2.2571 +Problem: Test may leave file behind. +Solution: Delete the temporary file. Don't profile in the running Vim + instance. +Files: src/testdir/test_quickfix.vim, src/testdir/test_profile.vim + +Patch 8.2.2572 +Problem: Vim9: crash when getting the types for a legacy function. +Solution: Initialize the type list growarray. (closes #7929) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2573 +Problem: Vim9: using invalid pointer for error message. +Solution: Use the right pointer. (closes #7921) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2574 +Problem: Vim9: crash when calling partial with wrong function. +Solution: Check argument types of called function. (closes #7912) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2575 +Problem: Vim9: a function name with "->" in the next line doesn't work. +Solution: Recognize a function name by itself. (closes #7770) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2576 +Problem: Vim9: defining a :func function checks for white space after a + comma in the arguments. +Solution: Only check for white space in a :def function. (closes #7930) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2577 +Problem: Compiler warning for type conversion. +Solution: Add a typecast. (Mike Williams) +Files: src/drawline.c + +Patch 8.2.2578 +Problem: Lua cannot handle a passed in lambda. +Solution: Handle VAR_PARTIAL. (Prabir Shrestha, closes #7937, closes #7936) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.2579 +Problem: Vim9: crash in garbagecollect after for loop. +Solution: Do not set a reference in script item when the name was cleared. + (closes #7935) +Files: src/evalvars.c + +Patch 8.2.2580 +Problem: Vim9: checking vararg type is wrong when function is auto-loaded. +Solution: Use the member type. (closes #7933) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2581 +Problem: Vim9: sourcing Vim9 script triggers a redraw. +Solution: Do not let setting/restoring 'cpoptions' cause a redraw. + (closes #7920) +Files: src/vim.h, src/option.c, src/optionstr.c, src/scriptfile.c, + src/vim9script.c, src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_vim9_no_redraw.dump + +Patch 8.2.2582 (after 8.2.2581) +Problem: Vim9: screendump test fails on MS-Windows. +Solution: Use :function instead of :def. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2583 +Problem: Vim9: cannot compare result of getenv() with null. +Solution: Make the return type of getenv() "any". (closes #7943) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2584 +Problem: Vim9: type error for assigning the result of list concatenation to + a list. +Solution: Do not consider concatenation result in a constant. (closes #7942) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2585 +Problem: Vim9: illegal memory access. +Solution: Check byte right after "null", not one more. +Files: src/vim9compile.c + +Patch 8.2.2586 +Problem: Process id may be invalid. +Solution: Use sysinfo.uptime to check for recent reboot. (suggested by Hugo + van der Sanden, closes #7947) +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/memline.c, src/testing.c, src/globals.h, + src/testdir/test_recover.vim + +Patch 8.2.2587 (after 8.2.2586) +Problem: Recover test fails on FreeBSD. +Solution: Check for Linux. +Files: src/testdir/check.vim, src/testdir/test_recover.vim + +Patch 8.2.2588 (after 8.2.2586) +Problem: Build failure with tiny features. +Solution: Add #ifdef. Run recover test separately. +Files: src/memline.c, src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.2.2589 (after 8.2.2586) +Problem: Recover test hangs in the GUI. +Solution: Add g:skipped_reason to skip a _nocatch_ test. +Files: src/testdir/runtest.vim, src/testdir/test_recover.vim + +Patch 8.2.2590 +Problem: Vim9: default argument value may cause internal error. +Solution: Hide later function arguments when compiling the expression. + (closes #7948) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2591 +Problem: Poke files are not recognized. +Solution: Add a filetype entry. (Matt Ihlenfield) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2592 +Problem: Code coverage could be improved. +Solution: Add a few more tests. (Dominique Pellé, closes #7957) +Files: src/testdir/test_fileformat.vim, src/testdir/test_normal.vim, + src/testdir/test_sleep.vim, src/testdir/test_textformat.vim, + src/testdir/test_viminfo.vim + +Patch 8.2.2593 +Problem: List of distributed files is incomplete. +Solution: Add a file and rename another. +Files: Filelist + +Patch 8.2.2594 +Problem: Alternate buffer added to session file even when it's hidden. +Solution: Check the 'buflisted' option. (closes #7951) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2595 +Problem: Setting 'winminheight' may cause 'lines' to change. +Solution: Also take minimal height of other tabpages into account. (#7899) +Files: src/window.c, src/testdir/test_options.vim + +Patch 8.2.2596 +Problem: :doautocmd may confuse scripts listening to WinEnter. +Solution: Do the current buffer last. (closes #7958) +Files: src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.2597 +Problem: Vim9: "import * as" does not work at script level. +Solution: Implement using an imported namespace. +Files: src/vim.h, src/eval.c, src/evalvars.c, src/proto/evalvars.pro, + src/vim9execute.c, src/errors.h, src/vim9script.c, + src/proto/vim9script.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.2598 +Problem: Vim9: :open does not need to be supported. +Solution: Do not support :open in Vim9 script. +Files: src/ex_docmd.c, src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2599 (after 8.2.2597) +Problem: Build failure. +Solution: Add missing change. +Files: src/vim9compile.c + +Patch 8.2.2600 +Problem: Vim9: crash when putting an unknown type in a dictionary. + (Yegappan Lakshmanan) +Solution: Handle a NULL type pointer. +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2601 +Problem: Memory usage test often fails on FreeBSD. +Solution: Increase multiplier for upper limit. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.2602 +Problem: Vim9: continue doesn't work if :while is very first command. + (Yegappan Lakshmanan) +Solution: Add one to the continue instruction index. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2603 +Problem: Vim9: no effect if user command is also a function. +Solution: Check for paren following. (closes #7960) +Files: src/evalvars.c, src/proto/evalvars.pro, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2604 +Problem: GUI-specific command line arguments not tested. +Solution: Add tests for several arguments. (Dominique Pellé, closes #7962) +Files: src/testdir/test_startup.vim + +Patch 8.2.2605 +Problem: Vim9: string index and slice does not include composing chars. +Solution: Include composing characters. (issue #6563) +Files: runtime/doc/vim9.txt, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2606 +Problem: strchars() defaults to counting composing characters. +Solution: Add strcharlen() which ignores composing characters. +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_utf8.vim + +Patch 8.2.2607 +Problem: strcharpart() cannot include composing characters. +Solution: Add the {skipcc} argument. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_expr_utf8.vim + +Patch 8.2.2608 +Problem: Character input not fully tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #7963) +Files: src/testdir/test_functions.vim, src/testdir/test_messages.vim, + src/testdir/test_paste.vim, src/testdir/test_registers.vim, + src/testdir/test_undo.vim + +Patch 8.2.2609 +Problem: Test disabled on MS-Windows even though it should work. +Solution: Restore the condition for skipping the test. (Ken Takata, + closes #7970) +Files: src/testdir/test_startup.vim + +Patch 8.2.2610 +Problem: Mouse click test fails when using remote connection. +Solution: Use a larger 'mousetime'. (Dominique Pellé, closes #7968) +Files: src/testdir/test_selectmode.vim + +Patch 8.2.2611 +Problem: Conditions for startup tests are not exactly right. +Solution: Check for type of GUI instead of MS-Windows. (Ozaki Kiichi, + closes #7976) +Files: src/main.c, src/testdir/check.vim, src/testdir/test_startup.vim + +Patch 8.2.2612 +Problem: col('.') may get outdated column value. +Solution: Add a note to the help how to make this work and add a test for + it. (closes #7971) +Files: runtime/doc/map.txt, src/testdir/test_mapping.vim + +Patch 8.2.2613 (after 8.2.2612) +Problem: New test throws exception. +Solution: Adjust the function cleanup. +Files: src/testdir/test_mapping.vim + +Patch 8.2.2614 +Problem: Vim9: function is deleted while executing. +Solution: increment the call count, when more than zero do not delete the + function but mark it as dead. (closes #7977) +Files: src/vim9execute.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2615 (after 8.2.2614) +Problem: Test is sourcing the wrong file. +Solution: Correct the file name. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2616 +Problem: Vim9: if 'cpo' is changed in Vim9 script it may be restored. +Solution: Apply the changes to 'cpo' to the restored value. +Files: runtime/doc/vim9.txt, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2617 +Problem: Vim9: script variable in a block scope not found by a nested + function. +Solution: Copy the block scope IDs before compiling the function. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2618 +Problem: Vim9: cannot use a normal list name to store function refs. +Solution: Allow a lower case name if it is indexed. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2619 +Problem: Vim9: no test for return type of lambda. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.2620 +Problem: Vim9: Using #{ for a dictionary gives strange errors. +Solution: Give an error when using #{ for a comment after a command. +Files: src/vim9compile.c, src/vim9script.c, src/proto/vim9script.pro, + src/errors.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2621 +Problem: typval2type() cannot handle recursive structures. +Solution: Use copyID. (closes #7979) +Files: src/list.c, src/vim9script.c, src/vim9type.c, + src/proto/vim9type.pro, src/testdir/test_vimscript.vim + +Patch 8.2.2622 +Problem: GTK: error when starting up and -geometry is given. (Dominique + Pellé) +Solution: Use another function to get the monitor if the window has not been + created yet. (closes #7978) +Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/gui_beval.c, + src/gui_xim.c + +Patch 8.2.2623 +Problem: Some tests fail when run as root. +Solution: Use CheckNotRoot. +Files: src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_help.vim, src/testdir/test_writefile.vim + +Patch 8.2.2624 +Problem: Atom files not recognized. +Solution: Recognize .atom as XML. (Kivin Locke, closes #7986) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2625 +Problem: Rss files not recognized. +Solution: Recognize .rss as XML. (Kivin Locke, closes #7987) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2626 +Problem: GTK3: error when starting up and -geometry is given. (Dominique + Pellé) +Solution: Use another function to get the monitor if the window has not been + created yet. (closes #7978) +Files: src/gui_gtk_x11.c + +Patch 8.2.2627 +Problem: No need to check for BSD after checking for not root. +Solution: Remove CheckNotBSD. (Ozaki Kiichi, closes #7989) +Files: src/testdir/test_excmd.vim, src/testdir/test_help.vim, + src/testdir/check.vim + +Patch 8.2.2628 +Problem: Vim9: #{ can still be used at the script level. +Solution: Give an error for #{ like in a :def function. +Files: src/eval.c, src/ex_docmd.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2629 +Problem: Vim9: error for #{{ is not desired. +Solution: Adjust the checks. (closes #7990) +Files: src/errors.h, src/vim9script.c, src/ex_docmd.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2630 +Problem: Hard to see where a test gets stuck. +Solution: Print the executed test function. (Dominique Pellé, closes #7975) +Files: src/testdir/Makefile + +Patch 8.2.2631 +Problem: Commands from winrestcmd() do not always work properly. (Leonid V. + Fedorenchik) +Solution: Repeat the size commands twice. (closes #7988) +Files: src/evalwindow.c, src/testdir/test_window_cmd.vim + +Patch 8.2.2632 +Problem: Not all command line arguments are tested. +Solution: Add tests for -D and -serverlist. (Dominique Pellé, closes #7992) +Files: src/testdir/test_clientserver.vim, src/testdir/test_startup.vim + +Patch 8.2.2633 +Problem: Multi-byte 'fillchars' for folding do not show properly. +Solution: Handle multi-byte characters correctly. (Yegappan Lakshmanan, + closes #7983, closes #7955) +Files: src/screen.c, src/testdir/test_fold.vim + +Patch 8.2.2634 +Problem: 'tagfunc' does not indicate using a pattern. +Solution: Add the "r" flag. (Andy Massimino, closes #7982) +Files: runtime/doc/tagsrch.txt, src/tag.c, src/testdir/test_tagfunc.vim + +Patch 8.2.2635 +Problem: Vim9: cannot define an inline function. +Solution: Make an inline function mostly work. +Files: src/userfunc.c, src/errors.h, src/vim9compile.c, src/misc2.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.2636 (after 8.2.2635) +Problem: Memory leak when compiling inline function. +Solution: Free the prefetched line. +Files: src/userfunc.c, src/vim9compile.c, src/structs.h, src/globals.h, + src/eval.c + +Patch 8.2.2637 +Problem: prop_remove() causes a redraw even when nothing changed. +Solution: Only redraw if a property was removed. (Dominique Pellé) +Files: src/textprop.c + +Patch 8.2.2638 +Problem: Cannot write a message to the terminal from the GUI. +Solution: Add :echoconsole and use it in the test runner. (issue #7975) +Files: runtime/doc/eval.txt, runtime/doc/index.txt, src/ex_cmds.h, + src/ex_cmdidxs.h, src/eval.c, src/ui.c, src/proto/ui.pro, + src/term.c, src/testdir/runtest.vim + +Patch 8.2.2639 (after 8.2.2638) +Problem: Build failure when fsync() is not available. +Solution: Add #ifdef. +Files: src/ui.c + +Patch 8.2.2640 +Problem: screenstring() returns non-existing composing characters. +Solution: Only use composing characters if there is a base character. +Files: src/evalfunc.c, src/testdir/test_listchars.vim + +Patch 8.2.2641 +Problem: Display test fails because of lacking redraw. +Solution: Add a redraw command. +Files: src/testdir/test_display.vim + +Patch 8.2.2642 +Problem: Vim9: no clear error for wrong inline function. +Solution: Check for something following the "{". +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2643 +Problem: Various code not covered by tests. +Solution: Add a few more test. (Yegappan Lakshmanan, closes #7995) +Files: src/testdir/test_edit.vim, src/testdir/test_functions.vim, + src/testdir/test_mapping.vim, src/testdir/test_termcodes.vim, + src/testdir/test_undo.vim + +Patch 8.2.2644 +Problem: prop_clear() causes a screen update even when nothing changed. +Solution: Only redraw when a property was cleared. (Dominique Pellé) +Files: src/textprop.c + +Patch 8.2.2645 +Problem: Using inline function is not properly tested. +Solution: Add test cases, esp. for errors. Minor code improvements. +Files: src/userfunc.c, src/errors.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2646 +Problem: Vim9: error for not using string doesn't mention argument. +Solution: Add argument number. +Files: src/filepath.c, src/typval.c, src/proto/typval.pro, src/errors.h, + src/mbyte.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2647 +Problem: Terminal test sometimes hangs. +Solution: Wait for the shell to display a prompt. +Files: src/testdir/test_terminal.vim + +Patch 8.2.2648 +Problem: Terminal resize test sometimes hangs. +Solution: Wait for the shell to display a prompt and other output. +Files: src/testdir/test_terminal2.vim + +Patch 8.2.2649 +Problem: Vim9: some wincmd arguments cause a white space error. +Solution: Insert a space before the count. (closes #8001) +Files: src/window.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2650 +Problem: Vim9: command modifiers not handled in nested function. +Solution: Keep function-local info in a structure and save it on the stack. +Files: src/vim9execute.c, src/vim9.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2651 +Problem: Vim9: restoring command modifiers happens after jump. +Solution: Move the restore instruction to before the jump. (closes #8006) + Also handle for and while. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2652 +Problem: Vim9: can use command modifier without an effect. +Solution: Give an error for a misplaced command modifier. Fix error message + number. +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_eval.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2653 +Problem: Build failure. +Solution: Add missing changes. +Files: src/errors.h + +Patch 8.2.2654 +Problem: Vim9: getting a character from a string can be slow. +Solution: Avoid a function call to get the character byte size. (#8000) +Files: src/vim9execute.vim + +Patch 8.2.2655 +Problem: The -w command line argument doesn't work. +Solution: Don't set 'window' when set with the -w argument. (closes #8011) +Files: src/term.c, src/testdir/test_startup.vim + +Patch 8.2.2656 +Problem: Some command line arguments and regexp errors not tested. +Solution: Add a few test cases. (Dominique Pellé, closes #8013) +Files: src/testdir/test_regexp_latin.vim, src/testdir/test_startup.vim + +Patch 8.2.2657 +Problem: Vim9: error message for declaring variable in for loop. +Solution: Clear variables when entering block again. (closes #8012) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2658 +Problem: :for cannot loop over a string. +Solution: Accept a string argument and iterate over its characters. +Files: runtime/doc/eval.txt, src/eval.c, src/vim9compile.c, + src/vim9execute.c, src/errors.h, src/testdir/test_vimscript.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2659 (after 8.2.2658) +Problem: Eval test fails because for loop on string works. +Solution: Check looping over function reference fails. +Files: src/testdir/test_eval_stuff.vim + +Patch 8.2.2660 +Problem: Vim9: no error for declaration with trailing text. +Solution: Give an error. (closes #8014) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2661 +Problem: Leaking memory when looping over a string. +Solution: Free the memory. +Files: src/eval.c + +Patch 8.2.2662 +Problem: There is no way to avoid some escape sequences. +Solution: Suppress escape sequences when the --not-a-term argument is used. + (Gary Johnson) +Files: src/main.c, src/os_unix.c, src/testdir/test_startup.vim + +Patch 8.2.2663 +Problem: Vim9: leaking memory when inline function has an error. +Solution: Free the partially allocated function. +Files: src/userfunc.c + +Patch 8.2.2664 +Problem: Vim9: not enough function arguments checked for string. +Solution: Check in balloon functions. Refactor function arguments. +Files: src/typval.c, src/proto/typval.pro, src/filepath.c, + src/evalfunc.c, src/mbyte.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2665 (after 8.2.2664) +Problem: Test failures. +Solution: Check more specific feature. Add missing change. +Files: src/testdir/test_vim9_builtin.vim, src/evalbuffer.c + +Patch 8.2.2666 +Problem: Vim9: not enough function arguments checked for string. +Solution: Check in ch_logfile(), char2nr() and others. +Files: src/channel.c, src/evalfunc.c, src/filepath.c, src/eval.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2667 +Problem: prop_find() cannot find item matching both id and type. +Solution: Add the "both" argument. (Naohiro Ono, closes #8019) +Files: runtime/doc/textprop.txt, src/testdir/test_textprop.vim, + src/textprop.c + +Patch 8.2.2668 +Problem: Vim9: omitting "call" for "confirm()" does not give an error. +Solution: Do not recognize a modifier followed by "(". +Files: src/ex_docmd.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2669 +Problem: Command line completion does not work after "vim9". +Solution: Include the "9". (Naohiro Ono, closes #8025) +Files: src/cmdexpand.c, src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.2670 +Problem: Vim9: error for append(0, text). +Solution: Check for negative number. (closes #8022) +Files: src/typval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2671 (after 8.2.2670) +Problem: Error for line number in legacy script. +Solution: Check for number type. +Files: src/typval.c + +Patch 8.2.2672 +Problem: Vim9: cannot use :lockvar and :unlockvar in compiled script. +Solution: Implement locking support. +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2673 +Problem: Vim9: script-local funcref can have lower case name. +Solution: Require an upper case name. +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2674 +Problem: Motif: cancelling the font dialog resets the font. +Solution: When no font is selected to not change the font. (closes #7825, + closes #8035) Fix compiler warnings. +Files: src/gui_x11.c, src/gui_motif.c + +Patch 8.2.2675 +Problem: Directory change in a terminal window shell is not followed. +Solution: Add the 'autoshelldir' option. (closes #6290) +Files: runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/optwin.vim, src/charset.c, src/feature.h, src/option.h, + src/optiondefs.h, src/terminal.c, src/testdir/check.vim, + src/testdir/test_terminal3.vim + +Patch 8.2.2676 +Problem: Missing error message. +Solution: Add new error message. +Files: src/errors.h + +Patch 8.2.2677 +Problem: Vim9: cannot use only some of the default arguments. +Solution: Use v:none to use default argument value. Remove + uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9execute.c, + src/userfunc.c, src/structs.h, src/vim9.h, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2678 +Problem: Test for 'autoshelldir' does not reset the option. +Solution: Reset the option after testing. +Files: src/testdir/test_terminal3.vim + +Patch 8.2.2679 +Problem: Winbar drawn over status line for non-current window with winbar + if frame is zero height. (Leonid V. Fedorenchik) +Solution: Do not draw the window if the frame height is zero. (closes #8037) +Files: src/drawscreen.c, src/testdir/test_winbar.vim, + src/testdir/dumps/Test_winbar_not_visible.dump + +Patch 8.2.2680 +Problem: Vim9: problem defining a script variable from legacy function. +Solution: Check if the script is Vim9, not the current syntax. + (closes #8032) +Files: src/vim9script.c, src/proto/vim9script.pro, src/evalvars.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2681 +Problem: Vim9: test fails for redeclaring script variable. +Solution: It's OK to assign to an existing script variable in legacy. +Files: src/evalvars.c + +Patch 8.2.2682 +Problem: Vim9: cannot find Name.Func from "import * as Name". (Alexander + Goussas) +Solution: When no variable found try finding a function. (closes #8045) + Check that the function was exported. +Files: src/vim9compile.c, src/vim9script.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2683 +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/vim9script.c + +Patch 8.2.2684 +Problem: Not enough folding code is tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #8046) +Files: src/testdir/test_fold.vim, src/testdir/test_mksession.vim, + src/testdir/test_source.vim + +Patch 8.2.2685 (after 8.2.2152) +Problem: Custom statusline not drawn correctly with WinBar. +Solution: Also adjust the column for the custom status line. (Yee Cheng + Chin, closes #8047) +Files: src/drawscreen.c, src/proto/drawscreen.pro, src/screen.c, + src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump, + src/testdir/test_winbar.vim + +Patch 8.2.2686 +Problem: Status line is not updated when going to cmdline mode. +Solution: Redraw status lines if 'statusline' is set and going to status + line mode. (based on patch from Justin M. Keyes et al., + closes #8044) +Files: src/ex_getln.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_mode_1.dump, + src/testdir/dumps/Test_statusline_mode_2.dump + +Patch 8.2.2687 +Problem: Vim9: cannot use "const" for global variable in :def function. +Solution: Do allow using :const for a global variable. (closes #8030) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2688 +Problem: Vim9: crash when using s: for script variable. +Solution: Pass the end pointer. (closes #8045) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2689 +Problem: Tiny build fails. +Solution: Add #ifdef around use of p_stl. +Files: src/ex_getln.c + +Patch 8.2.2690 +Problem: PowerShell files are not recognized. +Solution: Recognize several PowerShell extension. (Heath Stewart, + closes #8051) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2691 +Problem: Autoconf may mess up compiler flags. +Solution: Handle removing FORTIFY_SOURCE a bit better. (Vladimir Lomov, + closes #8049) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2692 +Problem: Vim9: locked script variable can be changed. +Solution: Check for locked value. (closes #8031) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2693 +Problem: Vim9: locked script variable can be changed. +Solution: Check legacy script variable for being locked. (issue #8031) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2694 +Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz) +Solution: Bail out when no character in 'matchpairs' was found. + (closes #8053) Add assert_nobeep(). +Files: runtime/doc/testing.txt, runtime/doc/eval.txt, src/search.c, + src/testing.c, src/proto/testing.pro, src/evalfunc.c, + src/testdir/test_textformat.vim + +Patch 8.2.2695 +Problem: Cursor position reset with nested autocommands. +Solution: Only check and reset line numbers for not nested autocommands. + (closes #5820) +Files: src/autocmd.c, src/testdir/test_terminal.vim + +Patch 8.2.2696 +Problem: Lua test fails with Lua 5.4.3 and later. +Solution: Check for different error messages. (Yegappan Lakshmanan, + closes #8050) +Files: src/testdir/test_lua.vim + +Patch 8.2.2697 +Problem: Function list test fails. +Solution: Add missing function. (Yegappan Lakshmanan) +Files: runtime/doc/usr_41.txt + +Patch 8.2.2698 (after 8.2.2696) +Problem: Lua test fails on MS-Windows. +Solution: Fall back to old method if "lua -v" doesn't work. +Files: src/testdir/test_lua.vim + +Patch 8.2.2699 +Problem: Lua test fails. +Solution: Fix condition. (Yegappan Lakshmanan, closes #8060) +Files: src/testdir/test_lua.vim + +Patch 8.2.2700 +Problem: Nested autocmd test fails sometimes. +Solution: Wait for the job to finish. +Files: src/testdir/test_terminal.vim + +Patch 8.2.2701 +Problem: Order of removing FORTIFY_SOURCE is wrong. +Solution: Use the more specific pattern first. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2702 +Problem: Compiler completion test fails when more scripts are added. +Solution: Add a more generic pattern. +Files: src/testdir/test_compiler.vim + +Patch 8.2.2703 +Problem: Vim9: memory leak when failing on locked variable. +Solution: Free the memory. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2704 +Problem: Adding a lot of completions can be a bit slow. +Solution: Use fast_breakcheck() instead of ui_breakcheck() when adding a + list of completions. (Ben Jackson, closes #8061) +Files: src/insexpand.c + +Patch 8.2.2705 +Problem: Vim9: misleading reported line number for wrong type. +Solution: Remember and use the line number at the start. (closes #8059) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2706 +Problem: Vim9: wrong line number reported for boolean operator. +Solution: Use the line number before skipping over line break. + (closes #8058) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2707 (after 8.2.2704) +Problem: Adding a lot of completions can still be a bit slow. +Solution: Add the check for CP_FAST. (Ben Jackson) +Files: src/insexpand.c + +Patch 8.2.2708 +Problem: Test sometimes fails waiting for shell in terminal. +Solution: Use WaitForAssert() so we can see the actual job status. Use + Run_shell_in_terminal(). +Files: src/testdir/term_util.vim, src/testdir/test_mksession.vim + +Patch 8.2.2709 +Problem: The GTK GUI has a gap next to the scrollbar. +Solution: Calculate the scrollbar padding for GTK. (closes #8027) +Files: src/gui_gtk.c + +Patch 8.2.2710 +Problem: Vim9: not all tests cover script and :def function. +Solution: Run tests in both if possible. Fix differences. +Files: src/eval.c, src/vim9compile.c, src/vim9execute.c, + src/testdir/vim9.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2711 +Problem: "gj" in a closed fold does not move out of the fold. (Marco Hinz) +Solution: Add a check for being in a closed fold. (closes #8062) +Files: src/normal.c, src/testdir/test_fold.vim + +Patch 8.2.2712 +Problem: Memory leak when adding to a blob fails. +Solution: Clear the second typval before returning. +Files: src/eval.c + +Patch 8.2.2713 +Problem: Folding code not sufficiently tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #8064) +Files: src/testdir/test_fold.vim + +Patch 8.2.2714 +Problem: Filetype pattern ending in star is too far up. +Solution: Move down to where patterns ending in star belong. (closes #8065) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2715 +Problem: Vim9: tests fail without the channel feature. (Dominique Pellé) +Solution: Check for the channel feature. (closes #8063) +Files: src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2716 +Problem: The equivalent class regexp is missing some characters. +Solution: Update the list of equivalent characters. (Dominique Pellé, + closes #8029) +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_regexp_utf8.vim + +Patch 8.2.2717 +Problem: GTK menu items don't show a tooltip. +Solution: Add a callback to show the tooltip. (Leonid V. Fedorenchik, + closes #8067, closes #7810) +Files: src/gui_gtk.c + +Patch 8.2.2718 +Problem: Vim9: no explicit test for using a global function without the g: + prefix. +Solution: Add a test case. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.2719 +Problem: Vim9: appending to dict item doesn't work in a :def function. +Solution: Implement assignment with operator on indexed item. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2720 +Problem: GTK menu tooltip moves the cursor. +Solution: Position the cursor after displaying the tooltip. Do not show the + tooltip when editing the command line. +Files: src/gui_gtk.c + +Patch 8.2.2721 +Problem: Vim9: cannot have a linebreak inside a lambda. +Solution: Compile the expression before the arguments. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2722 +Problem: Vim9: crash when using LHS with double index. +Solution: Handle lhs_dest which is "dest_expr". (closes #8068) + Fix confusing error message for missing dict item. +Files: src/vim9compile.c, src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2723 (after 8.2.2722) +Problem: Assignment test fails. +Solution: Adjust error number. +Files: src/testdir/test_let.vim + +Patch 8.2.2724 (after 8.2.2722) +Problem: Vim9: concatenating to list in dict not tested. +Solution: Add a test. (issue #8068) +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2725 +Problem: Vim9: message about compiling is wrong when using try/catch. +Solution: Store the compiling flag with the message. (closes #8071) +Files: src/ex_docmd.c, src/ex_eval.c, src/structs.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.2726 +Problem: Confusing error message with white space before comma in the + arguments of a function declaration. +Solution: Give a specific error message. (closes #2235) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2727 (after 8.2.2726) +Problem: Function test fails. +Solution: Adjust expected error number. +Files: src/testdir/test_user_func.vim + +Patch 8.2.2728 +Problem: Special key names don't work if 'isident' is cleared. +Solution: Add vim_isNormalIDc() and use it for special key names. + (closes #2389) +Files: src/charset.c, src/proto/charset.pro, src/misc2.c, + src/testdir/test_mapping.vim + +Patch 8.2.2729 +Problem: Vim9: wrong error message for referring to legacy script variable. +Solution: Do allow referring to a variable in legacy script without "s:" if + it exists at compile time. (closes #8076) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2730 +Problem: Coverity complains about not restoring character. +Solution: Also restore the character in case of an error. +Files: src/vim9compile.c + +Patch 8.2.2731 +Problem: Mac: SF symbols are not displayed properly. +Solution: Add custom range to list of double-width characters. (Yee Cheng + Chin, closes #8077) +Files: src/mbyte.c + +Patch 8.2.2732 +Problem: Prompt for s///c in Ex mode can be wrong. +Solution: Position the cursor before showing the prompt. (closes #8073) +Files: src/ex_cmds.c, src/testdir/test_ex_mode.vim + +Patch 8.2.2733 +Problem: Detecting Lua version is not reliable. +Solution: Add "vim.lua_version". (Ozaki Kiichi, closes #8080) +Files: runtime/doc/if_lua.txt, ci/if_ver-1.vim, src/if_lua.c, + src/testdir/test_lua.vim + +Patch 8.2.2734 +Problem: Vim9: cannot use legacy script-local var from :def function. +Solution: Do not insist on using "s:" prefix. (closes #8076) +Files: src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2735 +Problem: Vim9: function reference found with prefix, not without. +Solution: Also find function reference without prefix. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2736 +Problem: Vim9: for loop over string is a bit slow. +Solution: Avoid using strlen(). +Files: src/vim9execute.c + +Patch 8.2.2737 +Problem: Status line not updated when local 'statusline' option set. +Solution: Check the 'statusline' option of each window. +Files: src/ex_getln.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_mode_1.dump, + src/testdir/dumps/Test_statusline_mode_2.dump + +Patch 8.2.2738 +Problem: Extending a list with itself can give wrong result. +Solution: Remember the item before where the insertion happens and skip to + after the already inserted items. (closes #1112) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.2739 +Problem: Vim9: a lambda accepts too many arguments at the script level. +Solution: Do not set uf_varargs in Vim9 script. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2740 +Problem: Vim9: lambda with varargs doesn't work. +Solution: Make "...name" work. Require type to be a list. +Files: src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/errors.h, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2741 +Problem: Vim9: Partial call does not check right arguments. +Solution: Adjust the offset for whether the partial is before or after the + arguments. (closes #8091) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2742 +Problem: Vim9: when compiling a function fails it is cleared. +Solution: Keep the function lines, prevent execution with a different + status. (closes #8093) +Files: src/vim9compile.c, src/structs.h, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2743 +Problem: Vim9: function state stuck when compiling with ":silent!". +Solution: Check for uf_def_status to be UF_COMPILING. +Files: src/vim9compile.c, src/message.c, src/globals.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.2744 +Problem: Vim9: no way to explicitly ignore an argument. +Solution: Use the underscore as the name for an ignored argument. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/eval.c, + src/evalvars.c, src/errors.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2745 (after 8.2.2744) +Problem: Vim9: missing part of the argument change. +Solution: Add missing changes. +Files: src/userfunc.c + +Patch 8.2.2746 (after 8.2.2745) +Problem: Check for duplicate arguments does not work. +Solution: Correct condition. +Files: src/userfunc.c + +Patch 8.2.2747 +Problem: Vim9: not always an error for too many function arguments. +Solution: Check for getting too many arguments. +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2748 +Problem: Vim9: memory leak when calling :def function fails. +Solution: Jump to failed_early instead of returning. +Files: src/vim9execute.c + +Patch 8.2.2749 +Problem: Vim9: test for error can be a bit flaky. +Solution: Increase the wait time a bit. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2750 +Problem: Vim9: error for using underscore in nested function. +Solution: Do not consider "_" already defined. (closes #8096) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2751 +Problem: Coverity warns for using NULL pointer. +Solution: Check for NULL in calling function. +Files: src/userfunc.c + +Patch 8.2.2752 +problem: coverity reports unreachable code. +Solution: Remove check for positive index. +Files: src/typval.c + +Patch 8.2.2753 +Problem: Vim9: cannot ignore an item in assignment unpack. +Solution: Allow using an underscore. +Files: runtime/doc/vim9.txt, src/vim.h, src/evalvars.c, src/eval.c, + src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2754 +Problem: :sleep! does not always hide the cursor. +Solution: Add the cursor_is_asleep flag. (Jeremy Lerner, closes #8097, + closes #7998) +Files: src/drawscreen.c, src/ex_docmd.c, src/gui.c, src/proto/term.pro, + src/term.c + +Patch 8.2.2755 +Problem: Vim9: no error for using a number in a condition. +Solution: Also use ISN_COND2BOOL if the type is t_number_bool. + (closes #7644) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2756 +Problem: Vim9: blob index and slice not implemented yet. +Solution: Implement blob index and slice. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/eval.c, + src/blob.c, src/proto/blob.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.2757 +Problem: Vim9: blob tests for legacy and Vim9 script are separate. +Solution: Add CheckLegacyAndVim9Success(). Make blob index assign work. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/errors.h, + src/blob.c, src/proto/blob.pro, src/eval.c, src/ex_docmd.c, + src/testdir/vim9.vim, src/testdir/test_blob.vim + +Patch 8.2.2758 +Problem: Vim9: wrong line number for autoload function with wrong name. +Solution: Set and restore SOURCING_LNUM. (closes #8100) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2759 +Problem: Vim9: for loop infers type of loop variable. +Solution: Do not get the member type. (closes #8102) +Files: src/vim9type.c, src/proto/vim9type.pro, src/list.c, + src/vim9script.c, src/proto/vim9script.pro, src/vim.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.2760 +Problem: Vim9: no error for changing a for loop variable. +Solution: Make the loop variable read-only. (issue #8102) +Files: src/eval.c, src/evalvars.c, src/vim9compile.c, src/vim.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.2761 +Problem: Using "syn include" does not work properly. +Solution: Don't add current_syn_inc_tag to topgrp. (Jaehwang Jerry Jung, + closes #8104) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.2762 +Problem: Vim9: function line truncated when compiling. +Solution: Copy the line before processing it. (closes #8101) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2763 +Problem: Vim9: cannot use type in for loop unpack at script level. +Solution: Advance over the type name. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2764 +Problem: Memory leak when default function argument is allocated. +Solution: Free the expression result. +Files: src/userfunc.c, src/testdir/test_functions.vim + +Patch 8.2.2765 +Problem: Vim9: not all blob operations work. +Solution: Run more tests also with Vim9 script and :def functions. Fix what + doesn't work. +Files: src/eval.c, src/blob.c, src/proto/blob.pro, src/vim9execute.c, + src/errors.h, src/testdir/vim9.vim, src/testdir/test_blob.vim + +Patch 8.2.2766 (after 8.2.2765) +Problem: Test failure. +Solution: Add change to Vim9 compilation error message. +Files: src/vim9compile.c + +Patch 8.2.2767 (after 8.2.2765) +Problem: Compiler warning for unused argument. +Solution: Remove the argument. +Files: src/blob.c, src/proto/blob.pro, src/vim9execute.c, src/eval.c + +Patch 8.2.2768 +Problem: Vim9: memory leak with blob range error. +Solution: Jump to end instead of returning. +Files: src/vim9compile.c + +Patch 8.2.2769 +Problem: Modula-3 config files are not recognized. +Solution: Add filetype patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2770 +Problem: Vim9: type of loop variable is not used. +Solution: Parse and check the variable type. (closes #8107) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2771 +Problem: Vim9: assignment not recognized if declaration was skipped. +Solution: Also recognized an assignment if the variable does not exist. + (closes #8108) +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2772 +Problem: Problems when restoring 'runtimepath' from a session file. +Solution: Add the "skiprtp" item in 'sessionoptions'. +Files: runtime/doc/options.txt, src/session.c, src/optionstr.c, + src/option.h, src/vim.h, src/option.c, + src/testdir/test_mksession.vim + +Patch 8.2.2773 +Problem: PSL filetype not recognized. +Solution: Add a filetype pattern. (Daniel Kho, closes #8117) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2774 +Problem: Vim9: cannot import an existing name even when using "as". +Solution: Do not check for an existing name when using "as". (closes #8113) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2775 +Problem: Vim9: wrong line number used for some commands. +Solution: For :exe, :echo and the like use the line number of the start of + the command. When calling a function set the line number in the + script context. +Files: src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.2776 +Problem: :mksession uses current value of 'splitbelow' and 'splitright' + even though "options" is not in 'sessionoptions'. (Maxim Kim) +Solution: Save and restore the values, instead of setting to the current + value. (closes #8119) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2777 +Problem: Vim9: blob operations not tested in all ways. +Solution: Run tests with CheckLegacyAndVim9Success(). Make blob assign with + index work. +Files: src/vim9compile.c, src/vim9execute.c, src/errors.h, src/blob.c, + src/proto/blob.pro, src/testdir/test_blob.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2778 +Problem: Problem restoring 'packpath' in session. +Solution: Let "skiprtp" also apply to 'packpath'. +Files: runtime/doc/options.txt, src/option.c, + src/testdir/test_mksession.vim + +Patch 8.2.2779 +Problem: Memory access error in remove() for blob. +Solution: Adjust length for memmove(). +Files: src/blob.c + +Patch 8.2.2780 +Problem: Vim9: for loop over blob doesn't work. +Solution: Make it work. +Files: src/vim9compile.c, src/vim9execute.c, src/testdir/test_blob.vim + +Patch 8.2.2781 +Problem: Add() silently skips when adding to null list or blob. +Solution: Give an error in Vim9 script. Allocate blob when it is NULL like + with list and dict. +Files: src/list.c, src/evalvars.c, src/vim9execute.c, + src/testdir/test_blob.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2782 +Problem: Vim9: blob operations not fully tested. +Solution: Make more blob tests run in Vim9 script. Fix filter(). Make + insert() give an error for a null blob, like add(). +Files: src/list.c, src/testdir/test_blob.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2783 +Problem: Duplicate code for setting byte in blob, blob test may fail. +Solution: Call blob_set_append(). Test sort failure with "N". +Files: src/eval.c, src/testdir/test_blob.vim + +Patch 8.2.2784 +Problem: Vim9: cannot use \=expr in :substitute. +Solution: Compile the expression into instructions and execute them when + invoked. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/proto/vim9execute.pro, src/regexp.c, src/ex_cmds.c, + src/proto/ex_cmds.pro, src/globals.h, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2785 +Problem: Vim9: cannot redirect to local variable. +Solution: Compile :redir when redirecting to a variable. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/errors.h, + src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2786 +Problem: Vim9: memory leak when using :s with expression. +Solution: Clean up the instruction list. +Files: src/vim9compile.c + +Patch 8.2.2787 +Problem: MS-Windows: crash when using :echoconsole. +Solution: Do not write a NUL when it's already there. +Files: src/os_win32.c + +Patch 8.2.2788 +Problem: Raku is now the only name what once was called perl6. +Solution: Adjust the filetype detection. (closes #8120) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2789 +Problem: Vim9: using \=expr in :substitute does not handle jumps. +Solution: Start with instruction count zero. (closes #8128) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2790 (after 8.2.2788) +Problem: filetype test fails +Solution: Also update the scripts detection +Files: runtime/scripts.vim + +Patch 8.2.2791 +Problem: Vim9: memory leak when using \=expr in :substitute. +Solution: Do not allocate a new instruction list. +Files: src/vim9compile.c + +Patch 8.2.2792 +Problem: Vim9: :disas shows instructions for default args but no text. +Solution: Show the expression test above the default argument instructions. + (closes #8129) +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2793 +Problem: MS-Windows: string literals are writable with MSVC. +Solution: Add the /GF compiler flag. Make mch_write() safer. (Ken Takata, + closes #8133) +Files: src/Make_mvc.mak, src/os_win32.c + +Patch 8.2.2794 +Problem: Linux users don't know how to get ncurses. +Solution: Add the name of the package. (closes #8132) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2795 +Problem: Coverity warns for not using return value. +Solution: Check the return value of compiling the substitute expression. +Files: src/vim9compile.c + +Patch 8.2.2796 +Problem: Vim9: redir to variable does not accept an index. +Solution: Make the index work. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2797 +Problem: Search highlight disappears in the Visual area. +Solution: Combine the search attributes. (closes #8134) +Files: src/drawline.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_visual_1.dump + +Patch 8.2.2798 +Problem: Vim9: redir to variable with append does not accept an index. +Solution: Make the appending work. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2799 +Problem: Vim9: type casts don't fully work at the script level. +Solution: Implement the missing piece. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2800 +Problem: After a timer displays text a hit-enter prompt is given. +Solution: Reset msg_didany and need_wait_return. (closes #8136) +Files: src/drawscreen.c, src/testdir/test_timers.vim + +Patch 8.2.2801 +Problem: Free Pascal makefile not recognized. +Solution: Add the fpcmake filetype. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2802 +Problem: Vim9: illegal memory access. +Solution: Check for comment before checking for white space. (closes #8142) +Files: src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2803 +Problem: Flicker when the popup menu has an info popup. +Solution: Avoid drawing over the popup when it's going to be redrawn in the + same position. (closes #8131) Also avoid redrawing the scrollbar. +Files: src/popupmenu.c, src/proto/popupmenu.pro, src/drawscreen.c, + src/globals.h + +Patch 8.2.2804 +Problem: Setting buffer local mapping with mapset() changes global mapping. +Solution: Only set the local mapping. (closes #8143) +Files: src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.2805 +Problem: Vim9: cannot use legacy syntax in Vim9 script. +Solution: Add the :legacy command. +Files: src/ex_cmds.h, runtime/doc/vim9.txt, runtime/doc/index.txt + src/ex_cmdidxs.h, src/ex_docmd.c, src/structs.h, src/vim9script.c, + src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2806 +Problem: Vim9: using "++nr" as a command might not work. +Solution: Do not recognize "++" and "--" in a following line as addition or + subtraction. +Files: src/vim9compile.c, src/ex_docmd.c, src/ex_cmds.h, src/ex_cmdidxs.h, + src/vim9script.c, src/proto/vim9script.pro, src/eval.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2807 +Problem: Build fails with tiny features. +Solution: Use a dummy function for ex_incdec(). +Files: src/ex_docmd.c + +Patch 8.2.2808 +Problem: Vim9: increment and decrement not sufficiently tested. +Solution: Add assertions. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2809 +Problem: Vim9: :def function compilation fails when using :legacy. +Solution: Reset CMOD_LEGACY when compiling a function. (closes #8137) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2810 +Problem: Vim9: crash when calling a function in a substitute expression. +Solution: Set the instructions back to the substitute expression + instrunctions. (closes #8148) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2811 +Problem: Vim9: error for missing white space doesn't say where it is + missing +Solution: Mention the command. (closes #8149) +Files: src/ex_docmd.c, src/errors.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2812 +Problem: Vim9: still crash when using substitute expression. +Solution: Put the instruction list in the stack frame. (closes #8154) +Files: src/vim9execute.c, src/vim9.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2813 +Problem: Cannot grep using fuzzy matching. +Solution: Add the "f" flag to :vimgrep. (Yegappan Lakshmanan, closes #8152) +Files: runtime/doc/quickfix.txt, src/ex_cmds.c, src/proto/search.pro, + src/quickfix.c, src/search.c, src/vim.h, + src/testdir/test_quickfix.vim + +Patch 8.2.2814 (after 8.2.2812) +Problem: Vim9: unused variable. (John Marriott) +Solution: Adjust #ifdef. +Files: src/vim9execute.c + +Patch 8.2.2815 +Problem: Status line flickers when redrawing popup menu info. +Solution: Do not redraw the status line when the focus is in the popup + window. (issue #8144) +Files: src/popupmenu.c + +Patch 8.2.2816 +Problem: Vim9: comment below expression in lambda causes problems. +Solution: Use a single space for empty and comment lines. (closes #8156) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2817 +Problem: Vim9: script sourcing continues after an error. +Solution: Make an error in any command in "vim9script" abort sourcing. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2818 +Problem: No jump added to jumplist when opening terminal in current window. +Solution: Call setpcmark(). (closes #8158) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.2819 +Problem: Finishing an abbreviation with a multi-byte char may not work. +Solution: Escape K_SPECIAL in the typed character. (closes #8160) +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.2.2820 +Problem: Session file may divide by zero. +Solution: Avoid writing difide by zero. (closes #8162) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2821 +Problem: MS-Windows: unnessarily loading libraries when registering OLE. +Solution: Skip loading libraries when invoked with "-register". +Files: src/main.c, src/globals.h, src/os_win32.c + +Patch 8.2.2822 (after 8.2.2821) +Problem: MS-Windows: unnessarily loading libraries when unregistering OLE. +Solution: Also skip loading libraries when invoked with "-unregister". Run + Vim for README.txt with user privileges. +Files: src/main.c, nsis/gvim.nsi, nsis/README.txt + +Patch 8.2.2823 +Problem: MS-Windows: launching Vim from installer doesn't open README. +Solution: Adjust the quotes. +Files: nsis/gvim.nsi + +Patch 8.2.2824 +Problem: MS-Windows: build failure with MSVC. +Solution: Adjust the list of distributed files. Add hint about python. + Adjust path for reading runtime files. +Files: Filelist, src/testdir/shared.vim, + src/testdir/test_function_lists.vim + +Patch 8.2.2825 +Problem: Code in checkreadonly() not fully tested. +Solution: Add more tests. (Dominique Pellé, closes #8169) +Files: src/testdir/test_excmd.vim + +Patch 8.2.2826 +Problem: Compiler warnings for int to size_t conversion. (Randall W. + Morris) +Solution: Add type casts. +Files: src/map.c, src/quickfix.c + +Patch 8.2.2827 +Problem: Test file was not deleted. +Solution: Uncomment the delete() call. (Dominique Pellé, closes #8172) +Files: src/testdir/test_mksession.vim + +Patch 8.2.2828 +Problem: Coverity complains about not checking the rename() return value. +Solution: Add "(void)", can't do anything in case of a failure. +Files: src/fileio.c + +Patch 8.2.2829 +Problem: Some comments are not correct or clear. +Solution: Adjust the comments. Add test for cursor position. +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_exec_while_if.vim, + src/testdir/test_substitute.vim + +Patch 8.2.2830 +Problem: Terminal colors are not updated when 'background' is set. +Solution: Call term_update_colors() for all terminals. (Marcin Szamotulski, + closes #8171, closes #8150) +Files: src/terminal.c, src/proto/terminal.pro, src/optionstr.c + +Patch 8.2.2831 +Problem: Vim9: expandcmd() not tested. +Solution: Add a test. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.2832 +Problem: Operator cancelled by moving mouse when using popup. (Sergey + Vlasov) +Solution: Do not trigger an operator for a mouse move events. (closes #8176) +Files: src/normal.c + +Patch 8.2.2833 +Problem: Two key command cancelled by moving mouse when using popup. + (Sergey Vlasov) +Solution: Ignore K_MOUSEMOVE in plain_vgetc(). +Files: src/getchar.c + +Patch 8.2.2834 +Problem: Vim9: :cexpr does not work with local variables. +Solution: Compile :cexpr. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/quickfix.c, + src/proto/quickfix.pro, src/testdir/test_quickfix.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2835 (after 8.2.2834) +Problem: Vim9: leaking memory in :cexpr. +Solution: Also free the command line copy. +Files: src/vim9compile.c + +Patch 8.2.2836 (after 8.2.2834) +Problem: Build failure without the +quickfix feature. (John Marriott) +Solution: Add #ifdef. +Files: src/vim9compile.c, src/vim9execute.c, src/tag.c + +Patch 8.2.2837 +Problem: Various code lines not covered by tests. +Solution: Add test cases. (Dominique Pellé, closes #8178) +Files: src/testdir/test_excmd.vim, src/testdir/test_functions.vim, + src/testdir/test_options.vim, src/testdir/test_startup.vim, + src/testdir/test_syntax.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2838 +Problem: File extension .wrap not recognized. +Solution: Use dosini filetype for .wrap files. (Liam Beguin, closes #8177) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2839 +Problem: Default redirection missing "ash" and "dash". +Solution: Recognize "ash" and "dash". (Natanael Copa, closes #8180) +Files: runtime/doc/options.txt, src/option.c + +Patch 8.2.2840 +Problem: Vim9: member operation not fully tested. +Solution: Add a few tests. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2841 +Problem: MS-Windows: cursor in wrong position when 'lazyredraw' and + 'statusline' are set. +Solution: Call compute_cmdrow(). (closes #8170, closes #8184) +Files: src/os_win32.c + +Patch 8.2.2842 +Problem: Vim9: skip argument to searchpair() is not compiled. +Solution: Add VAR_INSTR. +Files: src/structs.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/proto/vim9execute.pro, src/eval.c, src/evalfunc.c, src/vim.h, + src/evalvars.c, src/typval.c, src/vim9type.c, src/testing.c, + src/viminfo.c, src/if_py_both.h, src/json.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2843 (after 8.2.2842) +Problem: Vim9: skip argument to searchpairpos() is not compiled. +Solution: Handle like searchpair(). Also for search() and searchpos(). +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2844 +Problem: Vim9: memory leak when using searchpair(). +Solution: Free the v_instr field. +Files: src/typval.c + +Patch 8.2.2845 +Problem: MS-Windows: warning for signed/unsigned comparison. +Solution: Add type cast. +Files: src/terminal.c + +Patch 8.2.2846 +Problem: Vim9: "echo Func()" does not give an error for a function without + a return value. +Solution: Give an error. Be more specific about why a value is invalid. +Files: src/globals.h, src/errors.h, src/eval.c, src/evalfunc.c, + src/typval.c, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2847 +Problem: Perl not tested sufficiently. +Solution: Add test. Also test W17. (Dominique Pellé, closes #8193) +Files: src/testdir/test_arabic.vim, src/testdir/test_perl.vim + +Patch 8.2.2848 +Problem: Crash when calling partial. +Solution: Check for NULL pointer. (Dominique Pellé, closes #8202) +Files: src/eval.c, src/evalfunc.c, src/testdir/test_functions.vim, + src/testdir/test_listdict.vim + +Patch 8.2.2849 +Problem: Bufwrite not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8192) +Files: src/testdir/test_startup.vim, src/testdir/test_writefile.vim + +Patch 8.2.2850 +Problem: Recalling commands from history is not tested. +Solution: Add tests. (closes #8194) +Files: src/testdir/test_cmdline.vim + +Patch 8.2.2851 +Problem: Using <Cmd> mapping on the command line triggers CmdlineChanged. + (Naohiro Ono) +Solution: Jump to cmdline_not_changed if the command line didn't change. + (closes #8208) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.2852 +Problem: Configure can add --as-needed a second time. +Solution: Only add --as-needed if not already there. (Natanael Copa, + closes #8189, closes #8181) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2853 (after 8.2.2851) +Problem: Window is not updated after using <Cmd> mapping. +Solution: So jump to cmdline_changed but skip autocommand. +Files: src/ex_getln.c + +Patch 8.2.2854 +Problem: Custom statusline cannot contain % items. +Solution: Add "%{% expr %}". (closes #8190) +Files: runtime/doc/options.txt, src/buffer.c, src/optionstr.c, + src/testdir/test_statusline.vim + +Patch 8.2.2855 +Problem: White space after "->" does not give E274. +Solution: Do not skip white space in legacy script. (closes #8212) +Files: src/eval.c, src/testdir/test_method.vim + +Patch 8.2.2856 +Problem: Get readonly error for device that can't be written to. +Solution: Check for being able to write first. (closes #8205) +Files: src/ex_cmds.c, src/testdir/test_writefile.vim + +Patch 8.2.2857 +Problem: Vim9: exception in ISN_INSTR caught at wrong level. +Solution: Set the starting trylevel in exec_instructions(). (closes #8214) +Files: src/vim9compile.c, src/vim9execute.c, src/globals.h, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2858 (after 8.2.2857) +Problem: Test fails because of changed error message. +Solution: Adjust the expected error message. +Files: src/testdir/test_ex_mode.vim + +Patch 8.2.2859 (after 8.2.2857) +Problem: Tcl test fails because of changed error message. +Solution: Adjust the expected error message. +Files: src/testdir/test_tcl.vim + +Patch 8.2.2860 +Problem: Adding a text property causes the whole window to be redawn. +Solution: Use changed_lines_buf() to only redraw the affected lines. +Files: src/change.c, src/proto/change.pro, src/textprop.c + +Patch 8.2.2861 +Problem: Vim9: "legacy return" is not recognized as a return statement. +Solution: Specifically check for a return command. (closes #8213) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2862 +Problem: Removing a text property causes the whole window to be redawn. +Solution: Use changed_lines_buf() to only redraw the affected lines. +Files: src/textprop.c + +Patch 8.2.2863 (after 8.2.2862) +Problem: Removing a text property does not redraw optimally. +Solution: Only redraw the lines that mithg actually have been changed. +Files: src/textprop.c + +Patch 8.2.2864 +Problem: Vim9: crash when using inline function. +Solution: Check for NULL pointer. Make using inline function work inside + lambda. (closes #8217) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2865 (after 8.2.2864) +Problem: Skipping over function body fails. +Solution: Do not define the function when skipping. +Files: src/userfunc.c + +Patch 8.2.2866 +Problem: Vim9: memory leak when using inline function. +Solution: Remember what strings to free. +Files: src/userfunc.c, src/structs.h, src/eval.c + +Patch 8.2.2867 (after 8.2.2866) +Problem: Build failure. +Solution: Add missing part of the change. +Files: src/globals.h + +Patch 8.2.2868 +Problem: Vim9: When executing a compiled expression the trylevel at start + is changed but not restored. (closes #8214) +Solution: Restore the trylevel at start. +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2869 +Problem: Using unified diff is not tested. +Solution: Test all cases also with unified diff. (issue #8197) +Files: src/testdir/test_diffmode.vim + +Patch 8.2.2870 +Problem: CmdlineChange event triggered twice for CTRL-R. +Solution: Return CMDLINE_NOT_CHANGED from cmdline_insert_reg(). + (closes #8219) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.2871 +Problem: Unnessary VIM_ISDIGIT() calls, badly indented code. +Solution: Call skipdigits() on the next character. Improve indenting. + (Dominique Pellé, closes #8227) +Files: src/charset.c, src/evalfunc.c, src/ex_docmd.c, src/json.c, + src/ops.c, src/tag.c, src/vim9compile.c + +Patch 8.2.2872 +Problem: Python tests fail without the channel feature. +Solution: Add a feature check. (Dominique Pellé, closes #8226) +Files: src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.2873 +Problem: Not enough tests for writing buffers. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8229) +Files: src/testdir/test_buffer.vim, src/testdir/test_cmdline.vim, + src/testdir/test_functions.vim, src/testdir/test_writefile.vim + +Patch 8.2.2874 +Problem: MS-Windows: screen redraws too often. +Solution: Do not redraw when peeking for a character. (closes #8230, + closes #8211) +Files: src/os_win32.c + +Patch 8.2.2875 +Problem: Cancelling inputlist() after a digit does not return zero. +Solution: Always return zero when cancelling. (closes #8231) +Files: src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.2876 +Problem: Configure cannot detect Python 3.10. +Solution: Use sys.version_info. (closes #8233) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2877 +Problem: Insufficient tests for popup menu rightleft. +Solution: Add tests. (Yegappan Lakshmanan, closes #8235) +Files: src/testdir/test_popup.vim, + src/testdir/dumps/Test_pum_rightleft_01.dump, + src/testdir/dumps/Test_pum_rightleft_02.dump, + src/testdir/dumps/Test_pum_scrollbar_01.dump, + src/testdir/dumps/Test_pum_scrollbar_02.dump + +Patch 8.2.2878 +Problem: Vim9: for loop list unpack only allows for one "_". +Solution: Drop the value when the variable is "_". (closes #8232) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2879 +Problem: File extension .hsig not recognized. +Solution: Use Haskell filetype for .hsig files. (Marcin Szamotulski, + closes #8236) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2880 +Problem: Unified diff fails if actually used. +Solution: Invoke :diffupdate in the test. Fix the check for working external + diff. (Ghjuvan Lacambre, Christian Brabandt, closes #8197) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.2.2881 +Problem: Various pieces of code not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8245) +Files: src/testdir/test_const.vim, src/testdir/test_functions.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2882 +Problem: Vim9: memory leak when lambda has an error. +Solution: Free the list of argument types on failure. +Files: src/userfunc.c + +Patch 8.2.2883 +Problem: MS-Windows manifest file name is misleading. +Solution: Rename the file. (closes #8241) +Files: .gitignore, .hgignore, Filelist, Makefile, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/gvim.exe.mnf, src/vim.manifest, src/vim.rc + +Patch 8.2.2884 +Problem: Not enough cscope code is covered by tests. +Solution: Add a few test cases. (Dominique Pellé, closes #8246) +Files: src/testdir/test_cscope.vim + +Patch 8.2.2885 +Problem: searching for \%'> does not match linewise end of line. (Tim Chase) +Solution: Match end of line if column is MAXCOL. (closes #8238) +Files: src/regexp_nfa.c, src/regexp_bt.c, src/testdir/test_search.vim + +Patch 8.2.2886 +Problem: Various pieces of code not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8255) +Files: src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_listdict.vim, src/testdir/test_registers.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.2887 +Problem: Crash when passing null string to fullcommand(). +Solution: Check for NULL pointer. (closes #8256) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.2888 +Problem: Vim9: "k" command recognized in Vim9 script. +Solution: Do not recognize "k" or "s" and "d" with flags. +Files: src/ex_docmd.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2889 +Problem: Typo and verbose comment in Makefiles. +Solution: Fix typo. Use @#. (Ken Takata, closes #8252) +Files: Makefile, src/testdir/Makefile + +Patch 8.2.2890 +Problem: Text property duplicated when data block splits. +Solution: Do not continue text prop from previous line. (closes #8261) +Files: src/memline.c, src/structs.h, src/testdir/test_textprop.vim + +Patch 8.2.2891 +Problem: Cannot build with Perl 5.34. +Solution: Add Perl_SvTRUE_common(). (Ozaki Kiichi, closes #8266, + closes #8250) +Files: src/if_perl.xs + +Patch 8.2.2892 +Problem: Error message contains random characters. +Solution: Pass the right pointer to error_white_both(). (closes #8272, + closes #8263) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2893 +Problem: Multi-byte text in popup title shows up wrong. +Solution: Use the character width instead of the byte length. (Ralf Schandl, + closes #8267, closes #8264) +Files: src/popupwin.c, src/message_test.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_multibytetitle.dump + +Patch 8.2.2894 +Problem: MS-Windows: using enc_locale() for strftime() might not work. +Solution: Use wcsftime(). (Ken Takata, closes #8271) +Files: src/time.c + +Patch 8.2.2895 +Problem: Vim9: random characters appear in some error messages. +Solution: Pass the correct pointer. (closes #8277) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2896 +Problem: Spellfile functionality not fully tested. +Solution: Add tests for CHECKCOMPOUNDPATTERN and COMMON. (Dominique Pellé, + closes #8270) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.2897 +Problem: Vim9: can use reserved words at the script level. +Solution: Check variable names for reserved words. (closes #8253) +Files: src/vim9compile.c, src/vim9script.c, src/proto/vim9script.pro, + src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2898 +Problem: QuitPre and ExitPre not triggered when GUI window is closed. +Solution: Call before_quit_autocmds(). (closes #8242) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/gui.c + +Patch 8.2.2899 +Problem: Appveyor script does not detect nmake failure. +Solution: Explicitly check for executable. (Ken Takata, closes #8281) +Files: ci/appveyor.bat + +Patch 8.2.2900 +Problem: QuitPre is triggered before :wq writes the file, which is + different from other commands. +Solution: Trigger QuitPre after writing the file. (closes #8279) +Files: src/ex_docmd.c, src/testdir/test_writefile.vim + +Patch 8.2.2901 +Problem: Some operators not fully tested. +Solution: Add a few test cases. (Yegappan Lakshmanan, closes #8282) +Files: src/testdir/test_cpoptions.vim, src/testdir/test_increment.vim, + src/testdir/test_normal.vim, src/testdir/test_virtualedit.vim, + src/testdir/test_visual.vim + +Patch 8.2.2902 +Problem: Spellfile functionality not fully tested. +Solution: Add tests for CIRCUMFIX, NOBREAK and others. (Dominique Pellé, + closes #8283) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.2903 +Problem: Cursor position wrong on wrapped line with 'signcolumn'. +Solution: Don't add space for showbreak twice. (Christian Brabandt, + closes #8262) +Files: src/drawline.c, src/testdir/test_display.vim + +Patch 8.2.2904 +Problem: "g$" causes scroll if half a double width char is visible. +Solution: Advance to the last fully visible character. (closes #8254) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.2905 +Problem: No error when defaults.vim cannot be loaded. +Solution: Add an error message. (Christian Brabandt, closes #8248) +Files: runtime/doc/starting.txt, src/errors.h, src/main.c, + src/testdir/test_startup.vim + +Patch 8.2.2906 (after 8.2.2905) +Problem: ASAN reports errors for test_startup for unknown reasons. +Solution: Temporarily disable the new test. +Files: src/testdir/test_startup.vim + +Patch 8.2.2907 +Problem: Memory leak when running out of memory. +Solution: Free the allocated memory. (Dominique Pellé, closes #8284) +Files: src/term.c + +Patch 8.2.2908 +Problem: Crash when using a terminal popup window from the cmdline window. +Solution: Instead of checking cmdwin_type call cmdwin_is_active(). + (closes #8286) +Files: src/terminal.c, src/errors.h, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_cmdwin_no_terminal.dump + +Patch 8.2.2909 +Problem: Build error with non-Unix system. +Solution: Always include limits.h. +Files: src/vim.h + +Patch 8.2.2910 +Problem: Test for cmdline window and terminal fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.2911 +Problem: Pattern "\%V" does not match all of block selection. (Rick Howe) +Solution: Use the value of vi_curswant. (closes #8285) +Files: src/regexp.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_block_visual_match.dump + +Patch 8.2.2912 +Problem: MS-Windows: most users expect using Unicode. +Solution: Default 'encoding' to utf-8 on MS-Windows. (Ken Takata, + closes #3907) +Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h, + src/testdir/test_writefile.vim + +Patch 8.2.2913 +Problem: MS-Windows conpty supports using mouse events. +Solution: When enabling the mouse enable mouse input and disable quick edit + mode. (Wez Furlong, closes #8280) +Files: src/os_win32.c + +Patch 8.2.2914 +Problem: Cannot paste a block without adding padding. +Solution: Add "zp" and "zP" which paste without adding padding. (Christian + Brabandt, closes #8289) +Files: runtime/doc/change.txt, runtime/doc/index.txt, src/normal.c, + src/register.c, src/vim.h, src/testdir/test_normal.vim, + src/testdir/test_visual.vim + +Patch 8.2.2915 +Problem: MS-Windows: when using "default" for encoding utf-8 is used. +Solution: Use the system encoding. (Ken Takata, closes #8300) +Files: src/mbyte.c, runtime/doc/options.txt + +Patch 8.2.2916 +Problem: Operators are not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8290) +Files: src/ops.c, src/testdir/test_netbeans.vim, + src/testdir/test_normal.vim, src/testdir/test_visual.vim + +Patch 8.2.2917 +Problem: Spellfile functionality not fully tested. +Solution: Add tests for SFX with removal of characters, spelling + suggestions with NOBREAK and others. (Dominique Pellé, + closes #8293) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.2918 +Problem: Builtin function can be shadowed by global variable. +Solution: Check for builtin function before variable. (Yasuhiro Matsumoto, + closes #8302) +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.2919 +Problem: Using ":!command" does not work if the command uses posix_spawn(). +Solution: Do not call ioctl() with TIOCSCTTY. (Felipe Contreras) +Files: src/os_unix.c + +Patch 8.2.2920 +Problem: Still a way to shadow a builtin function. (Yasuhiro Matsumoto) +Solution: Check the key when using extend(). (issue #8302) +Files: src/eval.c, src/dict.c, src/proto/dict.pro, + src/testdir/test_functions.vim + +Patch 8.2.2921 +Problem: E704 for script local variable is not backwards compatible. + (Yasuhiro Matsumoto) +Solution: Only give the error in Vim9 script. Also check for function-local + variable. +Files: src/dict.c, src/testdir/test_functions.vim + +Patch 8.2.2922 +Problem: Computing array length is done in various ways. +Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305) +Files: src/arabic.c, src/blowfish.c, src/cindent.c, src/cmdexpand.c, + src/cmdhist.c, src/dosinst.c, src/eval.c, src/evalfunc.c, + src/ex_docmd.c, src/fileio.c, src/gui_athena.c, src/gui_gtk_x11.c, + src/gui_haiku.cc, src/gui_photon.c, src/gui_w32.c, + src/gui_xmebw.c, src/hardcopy.c, src/help.c, src/highlight.c, + src/if_mzsch.c, src/macros.h, src/main.c, src/map.c, src/mbyte.c, + src/memline.c, src/menu.c, src/misc2.c, src/normal.c, src/ops.c, + src/option.c, src/optiondefs.h, src/os_win32.c, src/popupwin.c, + src/quickfix.c, src/regexp.c, src/screen.c, src/search.c, + src/syntax.c, src/term.c, src/terminal.c, src/time.c, + src/usercmd.c, src/version.c + +Patch 8.2.2923 +Problem: EBCDIC build is broken. +Solution: Move sortFunctions() to evalfunc.c. (Ken Takata, closes #8306) +Files: src/eval.c, src/evalfunc.c, src/proto/evalfunc.pro + +Patch 8.2.2924 +Problem: Superfluous extern declaration. +Solution: Delete the declaration. (Ken Takata, closes #8307) +Files: src/main.c + +Patch 8.2.2925 +Problem: Vim9: line continuation comment uses legacy syntax. +Solution: Check for #\ instead of "\. (closes #8295) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2926 +Problem: Vim9: no good error for using :legacy in a :def function. +Solution: Give an explicit error where :legacy is not working. + (closes #8309) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2927 +Problem: Test commented out because it fails with ASAN. +Solution: Only skip the test when running with ASAN. +Files: src/testdir/test_startup.vim + +Patch 8.2.2928 +Problem: The evalfunc.c file is too big. +Solution: Move float related functionality to a separate file. (Yegappan + Lakshmanan, closes #8287) +Files: Filelist, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/float.c, src/proto.h, + src/proto/eval.pro, src/proto/float.pro + +Patch 8.2.2929 +Problem: Accidentally enable tcl by default. +Solution: Revert change to Makefile +Files: src/Makefile + +Patch 8.2.2930 +Problem: When a popup is visible a mouse move my restart Visual mode. +Solution: Reset held_button when ending Visual mode. (closes #8318) +Files: src/mouse.c, src/proto/mouse.pro, src/normal.c + +Patch 8.2.2931 +Problem: Vim9: line continuation comment still uses legacy syntax in one + place. +Solution: Check for #\ instead of "\ earlier. (closes #8316) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2932 (after 8.2.2930) +Problem: Select mode test fails. +Solution: Do not always reset the held mouse button. +Files: src/mouse.c, src/normal.c, src/proto/normal.pro + +Patch 8.2.2933 +Problem: When 'clipboard' is "unnamed" zp and zP do not work correctly. +Solution: Pass -1 to str_to_reg() and fix computing the character width + instead of using the byte length. (Christian Brabandt, + closes #8301, closes #8317) +Files: src/clipboard.c, src/mbyte.c, src/register.c + +Patch 8.2.2934 (after 8.2.2933) +Problem: ASAN error when using text from the clipboard. +Solution: Get width of each character. +Files: src/register.c + +Patch 8.2.2935 (after 8.2.2934) +Problem: Calculating register width is not always needed. (Christian + Brabandt) +Solution: Only calculate the width when the type is MBLOCK. +Files: src/register.c + +Patch 8.2.2936 +Problem: Vim9: converting number to bool uses wrong stack offset. (Salman + Halim) +Solution: Include the offset in the 2BOOL command. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2937 +Problem: Popup test fails if rightleft feature not enabled. +Solution: Check that the rightleft feature is available. (Dominique Pellé, + closes #8321) +Files: src/testdir/test_popup.vim + +Patch 8.2.2938 +Problem: After using motion force from feedkeys() it may not be reset. +Solution: Clear motion_force in clearop(). (closes #8323) +Files: src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.2939 +Problem: GTK: righthand scrollbar does not show with split window. +Solution: Adjust padding when two scrollbars are used. (Matt Wozniski, + closes #8324) +Files: src/gui_gtk.c + +Patch 8.2.2940 +Problem: MS-Windows: cannot see the size of the text area when resizing the + gvim window. +Solution: Show a tooltip with the text size. (Ken Takata, closes #8326) +Files: src/gui_w32.c + +Patch 8.2.2941 +Problem: Vim9: using `=expr` does not handle a list of strings. +Solution: Convert a list to a string and escape each item. (closes #8310) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2942 +Problem: Vim9: internal error when calling function with too few arguments +Solution: Check for argument count to be too few. (closes #8325) +Files: src/errors.h, src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2943 +Problem: Vim9: check for argument count ignores default values. +Solution: Take default argument values into account. +Files: src/vim9execute.c + +Patch 8.2.2944 +Problem: Vim9: no error when using job or channel as a string. +Solution: Be more strict about conversion to string. (closes #8312) +Files: src/typval.c, src/job.c, src/proto/job.pro, src/channel.c, + src/proto/channel.pro, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2945 +Problem: Some buffer related code is not tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8320) +Files: src/termlib.c, src/testdir/test_excmd.vim, + src/testdir/test_recover.vim, src/testdir/test_swap.vim, + src/testdir/test_visual.vim + +Patch 8.2.2946 +Problem: Vim9: substitute expression cannot be a List in a :def function. +Solution: Use typval2string(). (closes #8330) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2947 +Problem: Build failure without the channel feature. +Solution: Add back #ifdef. (John Marriott) +Files: src/eval.c + +Patch 8.2.2948 +Problem: Substitute() accepts a number but not a float expression. +Solution: Also accept a float. (closes #8331) +Files: src/typval.c, src/testdir/test_substitute.vim + +Patch 8.2.2949 (after 8.2.2948) +Problem: Tests failing because there is no error for float to string + conversion. +Solution: Change the check for failure to check for correct result. Make + some conversions strict in Vim9 script. +Files: src/evalfunc.c, src/float.c, src/findfile.c, src/json.c, + src/filepath.c, src/testdir/test_eval_stuff.vim, + src/testdir/test_execute_func.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_listdict.vim, src/testdir/test_glob2regpat.vim + +Patch 8.2.2950 +Problem: Sound code not fully tested. +Solution: Add more sound tests. (Dominique Pellé, closes #8332) +Files: src/testdir/test_sound.vim + +Patch 8.2.2951 +Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc. +Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT + instruction. +Files: src/userfunc.c, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2952 +Problem: Recover test fails on big endian systems. +Solution: Disable the failing test on big endian systems. (Yegappan + Lakshmanan, closes #8335) +Files: src/testdir/test_recover.vim, src/testdir/test_swap.vim + +Patch 8.2.2953 (after 8.2.2951) +Problem: Vim9: leaking memory when using heredoc script. +Solution: Free the first line. +Files: src/vim9execute.c + +Patch 8.2.2954 +Problem: Short file name extension for Scala not recognized. +Solution: Recognize *.sc. (closes #8337) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2955 +Problem: Vim9: using filter in compiled command does not work. +Solution: Generate EXEC including the command modifier. +Files: src/vim9compile.c, src/ex_docmd.c, src/ex_cmds.c, + src/proto/ex_cmds.pro, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2956 +Problem: Vim9: need to plan for future additions. +Solution: Reserve commands for future use: :type, :class, :enum. +Files: src/ex_cmds.h, src/ex_cmdidxs.h + +Patch 8.2.2957 +Problem: Using getchar() in Vim9 script is problematic. +Solution: Add getcharstr(). (closes #8343) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/getchar.c, + src/proto/getchar.pro, src/testdir/test_getchar.vim + +Patch 8.2.2958 (after 8.2.2957) +Problem: Function list test fails. +Solution: Add newly added function to the list. Fix typo. +Files: runtime/doc/usr_41.txt, src/testdir/test_function_lists.vim + +Patch 8.2.2959 +Problem: sound_playfile() is not tested on MS-Windows. +Solution: Make it work and enable the test. (Dominique Pellé, closes #8338) +Files: src/sound.c, src/testdir/test_sound.vim + +Patch 8.2.2960 +Problem: Swap file recovery not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8339) +Files: src/testdir/test_recover.vim + +Patch 8.2.2961 +Problem: Keys typed during a :normal command are discarded. +Solution: Concatenate saved typeahead and typed kesy. (closes #8340) +Files: src/getchar.c, src/proto/getchar.pro, src/ex_docmd.c, + src/evalfunc.c, src/debugger.c, src/ui.c, src/proto/ui.pro + +Patch 8.2.2962 +Problem: MS-Windows command line arguments have wrong encoding. +Solution: Always use utf-8 in get_cmd_argsW(). (Ken Takata, closes #8347) +Files: src/os_win32.c + +Patch 8.2.2963 +Problem: GUI: mouse move may start Visual mode with a popup visible. +Solution: Add special code for mouse move. (closes #8318) +Files: src/vim.h, src/gui.c, src/keymap.h, src/term.c + +Patch 8.2.2964 +Problem: Vim9: hang when using space after ->. (Naohiro Ono) +Solution: Skip over white space to find the function name. (closes #8341) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2965 +Problem: Vim9: crash when calling function that failed to compile. +Solution: Fail when trying to call the function. (closes #8344) +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2966 +Problem: ml_get errors after recovering a file. (Yegappan Lakshmanan) +Solution: Fix the cursor position after deleting lines. +Files: src/memline.c + +Patch 8.2.2967 +Problem: Vim9: crash when using two levels of partials. +Solution: Add outer_ref_T and use it in the execution context. +Files: src/structs.h, src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2968 (after 8.2.2967) +Problem: Vim9: memory leak +Solution: Unreference pt_outer of partial. +Files: src/eval.c + +Patch 8.2.2969 +Problem: Subtracting from number option fails when result is zero. (Ingo + Karkat) +Solution: Reset the string value when using the numeric value. + (closes #8351) +Files: src/evalvars.c, src/testdir/test_vimscript.vim + +Patch 8.2.2970 +Problem: Python configure check uses deprecated command. +Solution: Use sysconfig instead of distutils if possible. (Zdenek Dohnal, + closes #8354) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2971 +Problem: Cannot yank a block without trailing spaces. +Solution: Add the "zy" command. (Christian Brabandt, closes #8292) +Files: runtime/doc/change.txt, runtime/doc/index.txt, src/normal.c, + src/ops.c, src/register.c, src/structs.h, + src/testdir/test_visual.vim + +Patch 8.2.2972 +Problem: "%bd" tries to delete popup window buffers, which fails. (Ralf + Schandl) +Solution: Do not try to delete a popup window buffer. (closes #8349) +Files: src/buffer.c, src/vim.h, src/testdir/test_popupwin.vim + +Patch 8.2.2973 +Problem: Fix for recovery and diff mode not tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8352) +Files: src/testdir/test_diffmode.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_recover.vim + +Patch 8.2.2974 +Problem: Greek spell checking uses wrong case folding. +Solution: Fold capital sigma depending on whether it is at the end of a + word or not. (closes #299) +Files: src/spell.c, src/proto/spell.pro, src/spellfile.c, + src/spellsuggest.c + +Patch 8.2.2975 +Problem: Vim9: can only use an autoload function name as a string. +Solution: Load the autoload script when encountered. (closes #8124) +Files: src/vim9compile.c, src/evalvars.c, src/scriptfile.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2976 (after 8.2.2975) +Problem: Build failure without the +eval feature. +Solution: Add #ifdefs. +Files: src/scriptfile.c + +Patch 8.2.2977 +Problem: Crash when using a null function reference. (Naohiro Ono) +Solution: Check for an invalid function name. (closes #8367) +Files: src/eval.c, src/errors.h, src/testdir/test_functions.vim + +Patch 8.2.2978 (after 8.2.2977) +Problem: Warning for uninitialized variable. +Solution: Set return value to FAIL. +Files: src/eval.c + +Patch 8.2.2979 +Problem: Not all options code is covered by tests. +Solution: Add more tests for options. (Yegappan Lakshmanan, closes #8369) +Files: src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_help.vim, src/testdir/test_mksession.vim, + src/testdir/test_options.vim, src/testdir/test_vartabs.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.2980 +Problem: Popup window test is a bit flaky. +Solution: Add a redraw command. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2981 +Problem: Recovery test is not run on big-endian systems. +Solution: Make it work on big-endian systems. (James McCoy, closes #8368) +Files: src/testdir/test_recover.vim + +Patch 8.2.2982 +Problem: Vim9: future commands are not reserved yet. +Solution: Add commands to be implemented later. Make "this" a reserved + name. +Files: runtime/doc/vim9.txt, src/ex_cmds.h, src/ex_cmdidxs.h, + src/vim9script.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2983 +Problem: Vim9: an inline function requires specifying the return type. +Solution: Make the return type optional. +Files: src/eval.c, src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2984 (after 8.2.2983) +Problem: Vim9: Test fails because of missing return statement. +Solution: When type is unknown set type to void. +Files: src/vim9compile.c + +Patch 8.2.2985 +Problem: Vim9: a compiled function cannot be debugged. +Solution: Add initial debugging support. +Files: src/vim9.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim.h, src/eval.c, src/vim9execute.c, src/userfunc.c, + src/vim9type.c, src/testdir/test_debugger.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2986 +Problem: Build failure without the profile feature. +Solution: Add #ifdef. +Files: src/vim9compile.c + +Patch 8.2.2987 +Problem: Build failure with normal features. +Solution: Remove #define. +Files: src/vim9execute.c + +Patch 8.2.2988 +Problem: Vim9: debugger test fails. +Solution: Get the debugger instructions when needed. +Files: src/vim.h, src/vim9.h + +Patch 8.2.2989 +Problem: Vim9: memory leak when debugging a :def function. +Solution: Free the debug instructions. +Files: src/vim9compile.c + +Patch 8.2.2990 +Problem: Jupyter Notebook files are not recognized. +Solution: Recognize *.ipynb. (closes #8375) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2991 +Problem: Vim9: no completion for :vim9 and :legacy. +Solution: Expand argument as a command. (closes #8377) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.2992 +Problem: Vim9: completion for :disassemble is incomplete. +Solution: Recognize the "debug" and "profile" arguments. +Files: src/cmdexpand.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/vim.h, src/testdir/test_cmdline.vim + +Patch 8.2.2993 +Problem: 'fileencodings' default value should depend on 'encoding'. (Gary + Johnson) +Solution: When 'encoding' is "utf-8" use a different default value for + 'fileencodings'. +Files: src/mbyte.c, src/option.c, src/proto/option.pro, + src/testdir/test_options.vim + +Patch 8.2.2994 +Problem: Various code is not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8378) +Files: src/testdir/test_excmd.vim, src/testdir/test_mapping.vim, + src/testdir/test_modeline.vim, src/testdir/test_options.vim, + src/testdir/test_paste.vim, src/vim9compile.c + +Patch 8.2.2995 +Problem: Linker errors with dynamic Python 3.10. +Solution: Add a couple of library entries. (Zdenek Dohnal, closes #8381, + closes #8356) +Files: src/if_python3.c + +Patch 8.2.2996 +Problem: Vim9: when debugging cannot inspect local variables. +Solution: Make local variables available when debugging. +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/vim9compile.c, + src/vim9.h, src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.2997 (after 8.2 2996) +Problem: Vim9: disassemble test fails. +Solution: Adjust expected output. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2998 (after 8.2 2996) +Problem: Vim9: disassemble test fails. +Solution: Add missing call to lookup_debug_var(). +Files: src/evalvars.c + +Patch 8.2.2999 +Problem: Balloon sometimes does not hide with GTK 3. +Solution: Also listen to GDK_LEAVE_NOTIFY. (Johannes Stezenbach) +Files: src/gui_beval.c + +Patch 8.2.3000 +Problem: Vim9: warning for uninitialized variable. +Solution: Add initialization. (John Marriott) +Files: src/vim9compile.c + +Patch 8.2.3001 +Problem: Vim9: memory leak when compilation fails. +Solution: Free the list of variable names. +Files: src/vim9compile.c + +Patch 8.2.3002 +Problem: Vim doesn't abort on a fatal Tcl error. +Solution: Change emsg() to iemsg(). (Dominique Pellé, closes #8383) +Files: src/if_tcl.c + +Patch 8.2.3003 +Problem: Vim9: closure compiled with wrong compile type. +Solution: Use COMPILE_TYPE() when calling a function. (closes #8384) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3004 +Problem: Vim9: error for missing colon given while skipping. +Solution: Do not give the error when skipping. (closes #8385) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3005 +Problem: Vim9: using a void value does not give a proper error message. +Solution: Give a clear error message. (clodes #8387) +Files: src/typval.c, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3006 +Problem: Crash when echoing a value very early. (Naruhiko Nishino) +Solution: Do not use a NUL to truncate the message, make a copy. + (closes #8388) +Files: src/message.c, src/testdir/test_startup.vim + +Patch 8.2.3007 (after 8.2.3005) +Problem: Vim9: test for void value fails. +Solution: Adjust expected error. Do not make a copy of void. +Files: src/typval.c, src/testdir/test_functions.vim + +Patch 8.2.3008 (after 8.2.3006) +Problem: Startup test may hang. +Solution: Add quit command in the script. +Files: src/testdir/test_startup.vim + +Patch 8.2.3009 (after 8.2.3006) +Problem: Startup test may hang. +Solution: Do not run the test in the GUI. +Files: src/testdir/test_startup.vim + +Patch 8.2.3010 +Problem: Not enough testing for viminfo code. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8390) +Files: src/register.c, src/testdir/test_fileformat.vim, + src/testdir/test_smartindent.vim, src/testdir/test_viminfo.vim + +Patch 8.2.3011 +Problem: Vim9: cannot get argument values during debugging. +Solution: Lookup names in the list of arguments. Put debug instruction + halfway for command. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_debugger.vim + +Patch 8.2.3012 +Problem: When 'rightleft' is set the line number is sometimes drawn + reversed. +Solution: Adjust how space is handled. (Christian Brabandt, closes #8389, + closes #8391) +Files: src/drawline.c, src/testdir/test_number.vim + +Patch 8.2.3013 +Problem: Vim: when debugging only the first line of a command using line + continuation is displayed. +Solution: Find the next command and concatenate lines until that one. + (closes #8392) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3014 +Problem: Coverity warns for freeing static string. +Solution: Do not assign static string to pointer. (Dominique Pellé, + closes #8397) +Files: src/vim9execute.c + +Patch 8.2.3015 +Problem: Vim9: Assigning to @# requires a string. (Naohiro Ono) +Solution: Accent a number or a string. (closes #8396) +Files: src/vim9compile.c, src/vim9execute.c, src/globals.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3016 +Problem: Confusing error when expression is followed by comma. +Solution: Give a different error for trailing text. (closes #8395) +Files: src/eval.c, src/testdir/test_let.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.3017 +Problem: Vim9: debugger shows too many lines. +Solution: Truncate at a comment, "enddef", etc. (closes #8392) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3018 +Problem: Formatting using quickfixtextfunc is lost when updating location + lists for different buffers. (Yorick Peterse) +Solution: Use the right window for the locaiton list. (Yegappan Lakshmanan, + closes #8400, closes #8403) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3019 +Problem: Location list only has the start position. +Solution: Make it possible to add an end position. (Shane-XB-Qian, + closes #8393) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/dumps/Test_quickfix_cwindow_1.dump, + src/testdir/dumps/Test_quickfix_cwindow_2.dump, + src/testdir/test_quickfix.vim, src/testdir/test_tagjump.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3020 +Problem: Unreachable code. +Solution: Remove the code. (closes #8406) +Files: src/ex_docmd.c + +Patch 8.2.3021 +Problem: Spaces allowed between option name and "!", "?", etc. +Solution: Disallow spaces in Vim9 script, it was not documented. + (closes #8408) +Files: src/option.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3022 +Problem: Available encryption methods are not strong enough. +Solution: Add initial support for xchaha20. (Christian Brabandt, + closes #8394) +Files: .github/workflows/ci.yml, runtime/doc/eval.txt, + runtime/doc/options.txt, runtime/doc/various.txt, + src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/auto/configure, src/blowfish.c, src/bufwrite.c, + src/config.h.in, src/configure.ac, src/crypt.c, src/crypt_zip.c, + src/errors.h, src/evalfunc.c, src/feature.h, src/fileio.c, + src/memline.c, src/option.c, src/optionstr.c, + src/proto/blowfish.pro, src/proto/crypt.pro, + src/proto/crypt_zip.pro, src/structs.h, + src/testdir/samples/crypt_sodium_invalid.txt, + src/testdir/test_crypt.vim, src/undo.c, src/version.c + +Patch 8.2.3023 +Problem: Vim9: arguments for execute() not checked at compile time. +Solution: Add a function to check the argument types. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3024 (after 8.2.3023) +Problem: execute() function test fails. +Solution: Adjust test for different error. +Files: src/testdir/test_execute_func.vim + +Patch 8.2.3025 +Problem: Not enough tests for quickfix end_col and end_lnum. +Solution: Add a few more test cases. (Shane-XB-Qian, closes #8409) +Files: src/testdir/test_quickfix.vim + +Patch 8.2.3026 +Problem: Vim9: cannot set breakpoint in compiled function. +Solution: Check for breakpoint when calling a function. +Files: src/vim9execute.c, src/structs.h, src/vim.h, src/vim9.h, + src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.3027 +Problem: Vim9: breakpoint in compiled function not always checked. +Solution: Check for breakpoint when calling compiled function from compiled + function. +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3028 +Problem: GUI mouse events not tested. +Solution: Add test_gui_mouse_event(). Add mouse tests. Also add a few + viminfo tests. (Yegappan Lakshmanan, closes #8407) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/testing.pro, + src/testdir/test_gui.vim, src/testdir/test_viminfo.vim, + src/testing.c + +Patch 8.2.3029 +Problem: Vim9: crash when using operator and list unpack assignment. + (Naohiro Ono) +Solution: Get variable value before operation. (closes #8416) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/ex_docmd.c, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3030 +Problem: Coverity reports a memory leak. +Solution: Fix the leak and a few typos. (Dominique Pellé, closes #8418) +Files: src/crypt.c, src/errors.h + +Patch 8.2.3031 +Problem: No error if a function name starts with an underscore. (Naohiro + Ono) +Solution: In Vim9 script disallow a function name starting with an + underscore, as is mentioned in the help. (closes #8414) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3032 +Problem: Build problems with MSVC, other crypt issues with libsodium. +Solution: Adjust MSVC makefile. Disable swap file only when 'key' is set. + Adjust error message used when key is wrong. Fix Coverity issues. + (Christian Brabandt, closes #8420, closes #8411) +Files: src/Make_mvc.mak, src/crypt.c, src/errors.h, src/fileio.c, + src/memline.c, src/proto/crypt.pro + +Patch 8.2.3033 +Problem: No error when using alpha delimiter with :global. +Solution: Check the delimiter like with :substitute. (closes #8415) +Files: src/ex_cmds.c, src/testdir/test_global.vim + +Patch 8.2.3034 +Problem: Installing packages on github CI sometimes fails. +Solution: Update package information first. (Christian Brabandt, + closes #8432) +Files: .github/workflows/ci.yml + +Patch 8.2.3035 +Problem: Vim9: crash when calling :def function with partial and return + type is not set. +Solution: When the return type is not set handle like the return type is + unknown. (closes #8422) +Files: src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3036 +Problem: Vim9: builtin function arguments not checked at compile time. +Solution: Add more argument type specs. Check arguments to test_setmouse() + and test_gui_mouse_event(). (Yegappan Lakshmanan, closes #8425) +Files: src/evalfunc.c, src/testdir/test_assert.vim, + src/testdir/test_gui.vim, src/testdir/test_popupwin.vim, + src/testdir/test_vim9_builtin.vim, src/testing.c + +Patch 8.2.3037 +Problem: Configure reports libcanberra when checking for libsodium. +Solution: Adjust the message. (Ozaki Kiichi, closes #8435) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3038 +Problem: Amiga built-in version string doesn't include build date. +Solution: Add the build date if available. (Ola Söder, closes #8437) +Files: src/os_amiga.c + +Patch 8.2.3039 +Problem: Vim9: breakpoint at a comment line does not work. +Solution: Add the comment line number to the debug instruction. + (closes #8429) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_debugger.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3040 +Problem: GUI: dropping files not tested. +Solution: Add test_gui_drop_files() and tests. (Yegappan Lakshmanan, + closes #8434) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/gui.c, + src/proto/testing.pro, src/testdir/test_gui.vim, src/testing.c + +Patch 8.2.3041 +Problem: Detecting if the process of a swap file is running fails if the + process is owned by another user. +Solution: Check for the ESRCH error. (closes #8436) +Files: src/os_unix.c + +Patch 8.2.3042 (after 8.2.3041) +Problem: Swap file test fails. +Solution: Check for a very high process ID instead of one, which should be + running. +Files: src/testdir/test_swap.vim + +Patch 8.2.3043 +Problem: Amiga: cannot get the shell size on MorphOS and AROS. +Solution: Use control sequences. (Ola Söder, closes #8438) +Files: src/os_amiga.c + +Patch 8.2.3044 +Problem: Amiga MorphOS and AROS: process ID is not valid. +Solution: Use FindTask to return something which is unique to all processes. + (Ola Söder, closes #8444) +Files: src/os_amiga.c + +Patch 8.2.3045 +Problem: Minor typos. +Solution: Fix the typos. (Christian Brabandt, closes #8441) +Files: src/VisVim/README_VisVim.txt, src/evalfunc.c, src/testdir/vim9.vim + +Patch 8.2.3046 +Problem: Amiga MorphOS: Term mode is set using DOS packets. +Solution: Use the same way of setting term mdoe on all next gen Amiga-like + systems. (Ola Söder, closes #8445) +Files: src/os_amiga.c + +Patch 8.2.3047 +Problem: Increment and decrement don't allow for next command. +Solution: Allow for comment and next command. (closes #8442) +Files: src/ex_cmds.h, src/vim9script.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3048 +Problem: Strange error for white space after ++ command. +Solution: Check for white space explicitly. (closes #8440) +Files: src/vim9script.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3049 +Problem: JSON patch file not recognized. +Solution: Recognize json-patch as json. (Kevin Locke, closes #8450) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3050 +Problem: Cannot recognize elixir files. +Solution: Recognize Elixir-specific files. Check if an .ex file is Euphoria + or Elixir. (Austin Gatlin, closes #8401, closes #8446) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3051 +Problem: Vim9: for loop with one list variable does not work. +Solution: Use a separate flag for unpacking a list. (closes #8452) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3052 +Problem: Vim9: "legacy call" does not work. +Solution: Do not skip "call" after "legacy". (closes #8454) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3053 +Problem: Vim9: cannot assign to @@ in :def function +Solution: Handle '@' like '"'. (closes #8456) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3054 +Problem: Vim9: unpack assignment using "_" after semicolon fails. +Solution: Drop the expression result. (closes #8453) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_assign.vim + +Patch 8.2.3055 +Problem: Strange error for assigning to "x.key" on non-dictionary. +Solution: Add a specific error message. (closes #8451) +Files: src/eval.c, src/errors.h, src/testdir/test_vim9_assign.vim, + src/testdir/test_listdict.vim, src/testdir/test_let.vim + +Patch 8.2.3056 +Problem: Vim9: using default value in lambda gives confusing error. +Solution: Pass "default_args" on the first pass to get the arguments. + (closes #8455) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3057 +Problem: Vim9: debugger test fails with normal features and +terminal. + (Dominique Pellé) +Solution: Adjust the INSTRUCTIONS macro. (closes #8460) +Files: src/vim9.h + +Patch 8.2.3058 (after 8.2.3056) +Problem: Vim9: cannot use ternary operator in parenthesis. +Solution: Do not use "==" for a default argument value. (closes #8462) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3059 (after 8.2.3056) +Problem: Vim9: memory leak when using lambda. +Solution: Do not store the default value strings when skipping. +Files: src/userfunc.c + +Patch 8.2.3060 (after 8.2.3056) +Problem: Vim9: cannot use ternary operator in parenthesis. +Solution: Do not use "=~" for a default argument value. (closes #8462) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3061 +Problem: Testing the shell option is incomplete and spread out. +Solution: Move shell tests to one file and increase coverage. (Yegappan + Lakshmanan, closes #8464) +Files: src/testdir/Make_all.mak, src/testdir/test_functions.vim, + src/testdir/test_options.vim, src/testdir/test_shell.vim, + src/testdir/test_system.vim + +Patch 8.2.3062 +Problem: Internal error when adding several text properties. +Solution: Do not handle text properties when deleting a line for splitting a + data block. (closes #8466) +Files: src/structs.h, src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.3063 +Problem: Crash when switching 'cryptmethod' to xchaha20 with an existing + undo file. (Martin Tournoij) +Solution: Disable reading undo file when decoding can't be done inplace. + (issue #8467) +Files: src/fileio.c, src/bufwrite.c + +Patch 8.2.3064 +Problem: Vim9: in script cannot set item in uninitialized list. +Solution: When a list is NULL allocate an empty one. (closes #8461) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3065 +Problem: Vim9: error when sourcing script twice and reusing a function + name. +Solution: Check if the function is dead. (closes #8463) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3066 +Problem: Vim9: debugging lambda does not work. +Solution: Use the compile type of the function when compiling a lambda. + (closes #8412) +Files: src/vim9compile.c, src/testdir/test_debugger.vim + +Patch 8.2.3067 +Problem: Building fails with Athena. (Elimar Riesebieter) +Solution: Adjust #ifdefs and add the 'drop_file' feature. +Files: src/evalfunc.c, src/testing.c, src/testdir/test_gui.vim + +Patch 8.2.3068 +Problem: Unicode tables are slightly outdated. +Solution: Update the tables for Unicode release 13. (Christian Brabandt + closes #8430) +Files: runtime/tools/unicode.vim, src/mbyte.c + +Patch 8.2.3069 +Problem: Error messages are spread out. +Solution: Move some error messages to errors.h. Use clearer names. +Files: src/errors.h, src/globals.h, src/arglist.c, src/buffer.c, + src/channel.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/filepath.c, src/fold.c, src/getchar.c, src/indent.c, + src/list.c, src/map.c, src/mark.c, src/normal.c, src/ops.c, + src/optionstr.c, src/popupwin.c, src/quickfix.c, src/spellfile.c, + src/textprop.c, src/typval.c, src/undo.c, src/userfunc.c, + src/vim9compile.c, src/window.c + +Patch 8.2.3070 +Problem: Not enough testing for shell use. +Solution: Add a bit more testing. (Yegappan Lakshmanan, closes #8469) +Files: src/testdir/test_shell.vim, src/testdir/test_startup.vim + +Patch 8.2.3071 +Problem: Shell options are not set properly for PowerShell. +Solution: Use better option defaults. (Mike Williams, closes #8459) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/os_dos.txt, src/fileio.c, src/misc2.c, src/option.c, + src/os_win32.c, src/testdir/test_shell.vim + +Patch 8.2.3072 +Problem: The "zy" command does not work well when 'virtualedit' is set to + "block". (Johann Höchtl) +Solution: Make endspaces zero. (Christian Brabandt, closes #8468, + closes #8448) +Files: src/register.c, src/testdir/test_visual.vim + +Patch 8.2.3073 +Problem: When cursor is moved for block append wrong text is inserted. +Solution: Calculate an offset. (Christian Brabandt, closes #8433, + closes #8288) +Files: src/ops.c, src/testdir/test_blockedit.vim, + src/testdir/test_visual.vim + +Patch 8.2.3074 +Problem: popup_atcursor() uses wrong position with concealing. +Solution: Keep w_wcol in conceal_check_cursor_line(). (closes #8476) +Files: src/screen.c, src/proto/screen.pro, src/normal.c, src/edit.c, + src/ui.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_atcursor_pos.dump + +Patch 8.2.3075 +Problem: Xxd always reports an old version string. (Åsmund Ervik) +Solution: Update the version string with the last known change date. + (Jürgen Weigert, closes #8475) +Files: src/xxd/xxd.c, src/testdir/test_xxd.vim + +Patch 8.2.3076 +Problem: Vim9: using try in catch block causes a hang. +Solution: Save and restore the ec_in_catch flag. (closes #8478) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3077 +Problem: Vim9: an error in a catch block is not reported. +Solution: Put the "in catch" flag in the try stack. (closes #8478) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3078 +Problem: Vim9: profile test fails. +Solution: Make throw in :catch jump to :finally. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3079 +Problem: Powershell core not supported by default. +Solution: Set option defaults for "pwsh". (Mike Williams, closes #8481) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/os_dos.txt, runtime/doc/os_win32.txt, src/fileio.c, + src/misc2.c, src/option.c, src/os_win32.c, + src/testdir/test_shell.vim + +Patch 8.2.3080 +Problem: Recover test fails on 32bit systems. (Ondřej Súkup) +Solution: Detect 32/64 bit systems. (Yegappan Lakshmanan, closes #8485, + closes #8479) +Files: src/testdir/test_recover.vim + +Patch 8.2.3081 +Problem: Cannot catch errors in a channel command. +Solution: Instead of skipping the error make it silent. (closes #8477) +Files: src/channel.c + +Patch 8.2.3082 +Problem: A channel command "echoerr" does not show anything. +Solution: Do not use silent errors when using an "echoerr" command. + (closes #8494) +Files: src/channel.c, src/testdir/test_channel.py, + src/testdir/test_channel.vim + +Patch 8.2.3083 +Problem: Crash when passing null string to charclass(). +Solution: Bail out when string pointer is NULL. (Christian Brabandt, + closes #8498, closes #8260) +Files: src/mbyte.c, src/testdir/test_functions.vim + +Patch 8.2.3084 +Problem: Vim9: builtin function argument types are not checked at compile + time. +Solution: Add argument types. (Yegappan Lakshmanan, closes #8503) +Files: src/evalfunc.c, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.3085 +Problem: JSONC files are not recognized. +Solution: Recognize .jsonc files. (Izhak Jakov, closes #8500) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3086 +Problem: Vim9: breakpoint on "for" does not work. +Solution: Use the right line number in ISN_DEBUG. (closes #8486) +Files: src/vim9compile.c, src/testdir/test_debugger.vim + +Patch 8.2.3087 +Problem: Gemtext files are not recognized. +Solution: Recognize .gmi and .gemini files. (closes #8427) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3088 +Problem: With 'virtualedit' set to "block" Visual highlight is wrong after + using "$". (Marco Trosi) +Solution: Do not set w_old_cursor_lcol to MAXCOL. (closes #8495) +Files: src/drawscreen.c, src/testdir/test_visual.vim, + src/testdir/dumps/Test_visual_block_with_virtualedit.dump + +Patch 8.2.3089 +Problem: Garbage collection has useless code. +Solution: Bail out when aborting. (closes #8504) +Files: src/userfunc.c + +Patch 8.2.3090 +Problem: With concealing enabled and indirectly closing a fold the cursor + may be somewhere in a folded line. +Solution: Recompute the cursor position when the cursor line can be + concealed. (closes #8480) +Files: src/drawscreen.c + +Patch 8.2.3091 +Problem: Vim9: default argument expression cannot use previous argument +Solution: Correct argument index. (closes #8496) +Files: src/vim9compile.c, src/structs.h, src/testdir/test_vim9_func.vim + +Patch 8.2.3092 +Problem: Vim9: builtin function test fails without the +channel feature. +Solution: Check the +channel feature is supported. (Dominique Pellé, + closes #8507) +Files: runtime/doc/eval.txt, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3093 +Problem: tablabel_tooltip test fails with Athena. (Dominique Pellé) +Solution: Skip the test when using Athena. (closes #8508) +Files: src/testdir/test_gui.vim, src/testdir/check.vim + +Patch 8.2.3094 +Problem: Test_popup_atcursor_pos() fails without the conceal feature. +Solution: Add a check for the conceal feature. (Dominique Pellé, + closes #8505) +Files: src/testdir/test_popupwin.vim + +Patch 8.2.3095 (after 8.2.3088) +Problem: With 'virtualedit' set to "block" block selection is wrong after + using "$". (Marco Trosi) +Solution: Compute the longest selected line. (closes #8495) +Files: src/drawscreen.c, src/testdir/test_visual.vim, + src/testdir/dumps/Test_visual_block_with_virtualedit2.dump + +Patch 8.2.3096 +Problem: Temp files remain after running tests. +Solution: Delete the right files. (Dominique Pellé, closes #8509) +Files: src/testdir/test_debugger.vim, src/testdir/test_lambda.vim, + src/testdir/test_visual.vim + + +Patch 8.2.3097 +Problem: Crash when using "quit" at recovery prompt and autocommands are + triggered. +Solution: Block autocommands when creating an empty buffer to use as the + current buffer. (closes #8506) +Files: src/buffer.c, src/testdir/test_swap.vim + +Patch 8.2.3098 +Problem: Popup window test is flaky on MS-Windows with GUI. +Solution: Skip the check in this situation. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.3099 +Problem: Vim9: missing catch/finally not reported at script level. +Solution: Give an error. (closes #8487) +Files: src/structs.h, src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3100 +Problem: Vim9: no error when using type with unknown number of arguments. +Solution: Do not ignore argument count of -1. (closes #8492) +Files: src/vim9type.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.3101 +Problem: Missing function prototype for vim_round(). +Solution: Add the prototype. +Files: src/proto/float.pro + +Patch 8.2.3102 (after 8.2.3097) +Problem: Test for crash fix does not fail without the fix. +Solution: Adjust the test sequence. (closes #8506) +Files: src/testdir/test_swap.vim + +Patch 8.2.3103 (after 8.2.3102) +Problem: Swap test may fail on some systems when jobs take longer to exit. +Solution: Use different file names. +Files: src/testdir/test_swap.vim + +Patch 8.2.3104 +Problem: Vim9: unspecified function type causes type error. +Solution: Don't check type when min_argcount is negative. (issue #8492) +Files: src/globals.h, src/vim9type.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3105 +Problem: Vim9: type of partial is wrong when it has arguments. +Solution: Subtract arguments from the count. (issue #8492) +Files: src/vim9type.c, src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3106 +Problem: Vim9: confusing line number reported for error. +Solution: Use the start line number for the store instruction. + (closes #8488) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3107 +Problem: Vim9: error for arguments while type didn't specify arguments. +Solution: Do not update that type to check when no argument count is + specified. (closes #8492) +Files: src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3108 +Problem: Test for remote_foreground() fails. (Elimar Riesebieter) +Solution: Check that $DISPLAY is set. (Christian Brabandt) +Files: src/testdir/check.vim, src/testdir/test_clientserver.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3109 +Problem: Check for $DISPLAY never fails. +Solution: Use eval(). +Files: src/testdir/check.vim + +Patch 8.2.3110 +Problem: A pattern that matches the cursor position is bit complicated. +Solution: Use a dot to indicate the cursor line and column. (Christian + Brabandt, closes #8497, closes #8179) +Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c, + src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3111 +Problem: Vim9: confusing error with extra whitespace before colon. +Solution: Check for colon after white space. (closes #8513) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3112 (after 8.2.3090) +Problem: With concealing enabled and indirectly closing a fold the cursor + may be somewhere in a folded line when it is not on the first line + of the fold. +Solution: Check if he cursor is somewhere in the folded text. +Files: src/drawscreen.c + +Patch 8.2.3113 +Problem: No error when for loop variable shadows script variable. +Solution: Check for the error. (closes #8512) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3114 +Problem: Amiga-like systems: build error checking for running process +Solution: Only build swapfile_process_running() on systems where it is + actually used. (Ola Söder, closes #8519) +Files: src/memline.c + +Patch 8.2.3115 +Problem: Coverity complains about free_wininfo() use. +Solution: Add a condition that "wip2" is not equal to "wip". (Neovim #14996) +Files: src/window.c + +Patch 8.2.3116 +Problem: Vim9: crash when debugging a function with line continuation. +Solution: Check for a NULL pointer. (closes #8521) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3117 +Problem: Vim9: type not properly checked in for loop. +Solution: Have items() return a list of lists. Add runtime type checks. + (closes #8515) +Files: src/evalfunc.c, src/globals.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3118 +Problem: Vim9: "any" type not handled correctly in for loop. +Solution: Change compile time check into runtime check. (closes #8516) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3119 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. +Files: src/evalfunc.c + +Patch 8.2.3120 +Problem: Crypt with sodium test fails on MS-Windows. +Solution: Make the tests pass. (closes #8428) +Files: src/testdir/test_crypt.vim + +Patch 8.2.3121 +Problem: 'listchars' "exceeds" character appears in foldcolumn. Window + separator is missing. (Leonid V. Fedorenchik) +Solution: Only draw the "exceeds" character in the text area. Break the + loop when not drawing the text. (closes #8524) +Files: src/drawline.c, src/testdir/test_listchars.vim, + src/testdir/dumps/Test_listchars_01.dump, + src/testdir/dumps/Test_listchars_02.dump, + src/testdir/dumps/Test_listchars_03.dump, + src/testdir/dumps/Test_listchars_04.dump, + src/testdir/dumps/Test_listchars_05.dump + +Patch 8.2.3122 +Problem: With 'nowrap' cursor position is unexected in narrow window. + (Leonid V. Fedorenchik) +Solution: Put cursor on the last non-empty line. (closes #8525) +Files: src/move.c, src/testdir/test_listchars.vim, + src/testdir/dumps/Test_listchars_06.dump, + src/testdir/dumps/Test_listchars_07.dump + +Patch 8.2.3123 +Problem: Vim9: confusing error when using white space after option, before + one of "!&<". +Solution: Give a specific error. (issue #8408) +Files: src/errors.h, src/option.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3124 +Problem: Vim9: no error for white space between option and "=9". +Solution: Check for extraneous white space. (issue #8408) +Files: src/option.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3125 +Problem: Variables are set but not used. +Solution: Move the declarations to the block where they are used. + (closes #8527) +Files: src/regexp_nfa.c + +Patch 8.2.3126 +Problem: Vim9: for loop error reports wrong line number. +Solution: Save and restore the line number when evaluating the expression. + (closes #8514) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3127 +Problem: Vim9: no error when adding number to list of string. +Solution: Check the value type. (closes #8529) +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3128 +Problem: Vim9: uninitialzed list does not get type checked. +Solution: Set the type when initializing the variable. (closes #8529) +Files: src/eval.c, src/evalvars.c, src/vim9script.c, + src/userfunc.c, src/proto/vim9script.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3129 +Problem: Vim9: imported uninitialized list does not get type checked. +Solution: Get type from imported variable. +Files: src/eval.c, src/evalvars.c, src/vim9script.c, + src/proto/vim9script.pro, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3130 +Problem: Vim9: import test fails. +Solution: Rename directory back to "import", use "p" to avoid an error when + the directory already exists. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3131 +Problem: MS-Windows: ipv6 channel test is very flaky in the GUI. +Solution: Skip the test. +Files: src/testdir/test_channel.vim + +Patch 8.2.3132 +Problem: Compiler warns for size_t to colnr_T conversion. (Randall W. + Morris) +Solution: Add a type cast. +Files: src/drawscreen.c + +Patch 8.2.3133 +Problem: Vim9: memory leak when add() fails. +Solution: Allocate listitem_T after type check. +Files: src/list.c + +Patch 8.2.3134 +Problem: Crash when using typename() on a function reference. (Naohiro Ono) +Solution: Initialize pointer to NULL. (closes #8531) +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3135 +Problem: Vim9: builtin function arguments not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8539) +Files: src/channel.c, src/errors.h, src/evalfunc.c, src/proto/typval.pro, + src/terminal.c, src/testdir/test_search.vim, + src/testdir/test_textprop.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c, src/textprop.c, src/typval.c + +Patch 8.2.3136 +Problem: No test for E187 and "No swap file". +Solution: Add a test. (Dominique Pellé, closes #8540) +Files: src/testdir/test_cd.vim, src/testdir/test_swap.vim + +Patch 8.2.3137 +Problem: Vim9: no error when a line only has a variable name. +Solution: Give an error when an expression is evaluated without an effect. + (closes #8538) +Files: src/ex_eval.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.3138 (after 8.2.3137) +Problem: Debugger test fails. +Solution: Adjust eval command. +Files: src/testdir/test_debugger.vim + +Patch 8.2.3139 +Problem: Functions for string manipulation are spread out. +Solution: Move string related functions to a new source file. (Yegappan + Lakshmanan, closes #8470) +Files: Filelist, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/mbyte.c, src/misc1.c, src/misc2.c, + src/proto.h, src/proto/eval.pro, src/proto/evalfunc.pro, + src/proto/mbyte.pro, src/proto/misc1.pro, src/proto/misc2.pro, + src/proto/strings.pro, src/strings.c + +Patch 8.2.3140 (after 8.2.3131) +Problem: MS-Windows: ipv6 channel test is very flaky also without the GUI. +Solution: Skip the test also without the GUI. +Files: src/testdir/test_channel.vim + +Patch 8.2.3141 +Problem: No error when using :complete for :command without -nargs. +Solution: Give an error. (Martin Tournoij, closes #8544, closes #8541) +Files: src/usercmd.c, src/errors.h, src/testdir/test_usercommands.vim + +Patch 8.2.3142 +Problem: Vim9: type check for has_key() argument is too strict. +Solution: Also allow for a number key argument. (closes #8542) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3143 +Problem: Vim9: A lambda may be compiled with the wrong context if it is + called from a profiled function. +Solution: Compile the lambda with and without profiling. (closes #8543) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3144 +Problem: Vim9: no error when using an invalid value for a line number. +Solution: Give an error if the string value is not recognized. + (closes #8536) +Files: src/errors.h, src/eval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3145 +Problem: Vim9: profile test fails without profile feature. +Solution: Check the profile feature is present. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3146 +Problem: Vim9: line number wrong for :execute argument. +Solution: Use the line number of the :execute command itself. (closes #8537) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3147 +Problem: Vim9: profiling does not work with a nested function. +Solution: Also compile a nested function without profiling. (closes #8543) + Handle that compiling may cause the table of compiled functions to + change. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3148 +Problem: Vim9: function arg type check does not handle base offset. +Solution: Take the base offset into account when checking builtin function + argument types. +Files: src/evalfunc.c, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3149 (after 8.2.3141) +Problem: Some plugins have a problem with the error check for using + :command with -complete but without -nargs. +Solution: In legacy script only give a warning message. +Files: src/usercmd.c, src/message.c, src/proto/message.pro, + src/testdir/test_usercommands.vim + +Patch 8.2.3150 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8545) +Files: src/evalfunc.c, src/testing.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3151 +Problem: Vim9: profiling fails if nested function is also profiled. +Solution: Use the compile type from the outer function. (closes #8543) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3152 +Problem: Vim9: accessing "s:" results in an error. +Solution: Do not try to lookup a script variable for "s:". (closes #8549) +Files: src/evalvars.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3153 +Problem: URLs with a dash in the scheme are not recognized. +Solution: Allow for a scheme with a dash, but not at the start or end. + (Tsuyoshi CHO, closes #8299) +Files: src/misc1.c, src/testdir/test_buffer.vim + +Patch 8.2.3154 +Problem: Vim9: some type checks for builtin functions fail. +Solution: Correct the type checks. (Yegappan Lakshmanan, closes #8551, + closes #8550) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3155 +Problem: Some option related code not covered by tests. +Solution: Add a few test cases. (Dominique Pellé, closes #8552) +Files: src/testdir/test_options.vim, src/testdir/test_set.vim + +Patch 8.2.3156 +Problem: Vim9: term_getansicolors() test fails without +termguicolors. +Solution: Add a check for the feature. (Dominique Pellé, closes #8555) +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3157 +Problem: Crypt test may fail on MS-Windows. +Solution: Ignore "[unix]" in the file message. (Christian Brabandt, + closes #8561) +Files: src/testdir/test_crypt.vim + +Patch 8.2.3158 +Problem: Strange error message when using islocked() with a number. + (Yegappan Lakshmanan) +Solution: Check that the name is empty. +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.2.3159 +Problem: Cursor displayed in wrong position after deleting line. +Solution: When deleting lines do not approximate botline. (fixes #8559) +Files: src/change.c + +Patch 8.2.3160 +Problem: 'breakindent' does not work well for bulleted and numbered lists. +Solution: Add the "list" entry to 'breakindentopt'. (Christian Brabandt, + closes #8564, closes #1661) +Files: runtime/doc/options.txt, src/indent.c, src/structs.h, + src/testdir/test_breakindent.vim + +Patch 8.2.3161 +Problem: Vim9: no error when reltime() has invalid arguments. +Solution: Add an error. (closes #8562) +Files: src/time.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3162 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8560) +Files: runtime/doc/channel.txt, src/clientserver.c, src/cmdhist.c, + src/errors.h, src/evalfunc.c, src/evalwindow.c, src/filepath.c, + src/globals.h, src/popupwin.c, src/proto/typval.pro, src/sign.c, + src/strings.c, src/terminal.c, src/testdir/test_normal.vim, + src/testdir/test_reltime.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_expr.vim, src/testing.c, src/textprop.c, + src/time.c, src/typval.c + +Patch 8.2.3163 +Problem: Location list window may open a wrong file. +Solution: Also update the qf_ptr field. (Wei-Chung Wen, closes #8565, + closes #8566) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3164 +Problem: MS-Windows: reported version lacks patchlevel, causing some update + tools to update too often. (Klaus Frank) +Solution: Add the patchlevel to the version. (Christian Brabandt) +Files: src/dosinst.c + +Patch 8.2.3165 +Problem: Vim9: in a || expression the error line number may be wrong. +Solution: Save and restore the line number when checking the type. + (closes #8569) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3166 +Problem: Vim9: nested autoload call error overruled by "Unknown error". +Solution: Check need_rethrow before giving an "Unknown error". + (closes #8568) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3167 +Problem: Get E12 in a job callback when searching for tags. (Andy Stewart) +Solution: Use the sandbox only for executing a command, not for searching. + (closes #8511) +Files: src/tag.c + +Patch 8.2.3168 +Problem: Vim9: type error for constant of type any. +Solution: Do add a runtime type check if a constant has type any. + (closes #8570) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3169 +Problem: Vim9: cannot handle nested inline function. +Solution: Check for nested inline function. (closes #8575) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3170 +Problem: Illegal memory access in test. +Solution: Check pointer is not before the start of the line. +Files: src/userfunc.c + +Patch 8.2.3171 +Problem: Another illegal memory access in test. +Solution: Check pointer is after the start of the line. +Files: src/userfunc.c + +Patch 8.2.3172 +Problem: MzScheme test fails. (Christian Brabandt) +Solution: Correct function name. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3173 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8581) +Files: src/diff.c, src/errors.h, src/evalfunc.c, src/globals.h, + src/job.c, src/proto/typval.pro, src/strings.c, src/terminal.c, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3174 +Problem: Vim9: "legacy undo" finds "undo" variable. +Solution: Do not pass lookup function to find_ex_command(). (closes #8563) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3175 +Problem: Vim9: using illegal pointer with inline function inside a lambda. +Solution: Clear eval_tofree_cmdline when advancing to the next line. + (closes #8578) +Files: src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3176 +Problem: Vim9: no type error for comparing number with string. +Solution: Add a runtime type check. (closes #8571) +Files: src/typval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.3177 +Problem: Vim9: can not use "for _ in expr" at script level. +Solution: Skip assignment if the loop variable is "_". +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3178 +Problem: Vim9: the file name of an :import cannot be an expression. +Solution: Accept an expression that results in a string. Do not support + :import in a function. +Files: runtime/doc/vim9.txt, src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3179 +Problem: Vim9: cannot assign to an imported variable at script level. +Solution: Lookup imported items when assigning. +Files: src/evalvars.c, src/errors.h, src/eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3180 +Problem: Vim9: memory leak when concatenating to an imported string. +Solution: Clear the destination. +Files: src/evalvars.c + +Patch 8.2.3181 +Problem: Vim9: builtin function test fails without channel feature. +Solution: Add feature checks. (Dominique Pellé, closes #8586) Make feature + checks more consistent. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3182 +Problem: Vim9: crash when using removing items from a constant list. + (Yegappan Lakshmanan) +Solution: When a list was allocated with items copy them. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3183 +Problem: Duplicate error numbers. +Solution: Adjust the error numbers. +Files: src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3184 +Problem: Cannot add a digraph with a leading space. It is not easy to list + existing digraphs. +Solution: Add setdigraph(), setdigraphlist(), getdigraph() and + getdigraphlist(). (closes #8580) +Files: runtime/doc/digraph.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/digraph.c, src/evalfunc.c, + src/ex_docmd.c, src/globals.h, src/errors.h, + src/proto/digraph.pro, src/testdir/test_digraph.vim + +Patch 8.2.3185 +Problem: Vim9: start of inline function found in comment line. +Solution: Do not check for inline function in comment line. (closes #8589) +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3186 +Problem: Vim9: not all failures for import tested +Solution: Test more import failures +Files: src/errors.h, src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3187 +Problem: Vim9: popup timer callback is not compiled. +Solution: Compile the callback when creating the timer. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/popupwin.c + +Patch 8.2.3188 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks, also at runtime. (Yegappan + Lakshmanan, closes #8587) +Files: src/blob.c, src/channel.c, src/clientserver.c, src/cmdexpand.c, + src/cmdhist.c, src/dict.c, src/diff.c, src/errors.h, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/filepath.c, src/globals.h, src/insexpand.c, + src/job.c, src/list.c, src/map.c, src/match.c, + src/proto/typval.pro, src/quickfix.c, src/search.c, src/sign.c, + src/strings.c, src/terminal.c, src/testdir/test_blob.vim, + src/testdir/test_gui.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c, src/textprop.c, src/time.c, src/typval.c + +Patch 8.2.3189 +Problem: Vim9: error when using "try|". +Solution: Allow for "|" right after a command. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3190 +Problem: Error messages are spread out. +Solution: Move error messages to errors.h and give them a clear name. +Files: src/globals.h, src/errors.h, src/buffer.c, src/debugger.c, + src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_eval.c, src/gui.c, src/list.c, src/main.c, + src/map.c, src/match.c, src/quickfix.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/search.c, + src/session.c, src/spell.c, src/syntax.c, src/time.c, + src/userfunc.c, src/vim9execute.c, src/window.c + +Patch 8.2.3191 +Problem: Vim9: not enough code is tested. +Solution: Use CheckLegacyAndVim9Success() in more places. Fix uncovered + problems. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_listdict.vim + +Patch 8.2.3192 (after 8.2.3190) +Problem: Build failure with small version (Tony Mechelynck). +Solution: Remove stray #ifdef. +Files: src/errors.h + +Patch 8.2.3193 +Problem: screenpos() is wrong when the last line is partially visible and + 'display' is "lastline". +Solution: Also compute the position for a partially visible line. + (closes #8599) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.3194 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks, simplify some. (Yegappan + Lakshmanan, closes #8598) +Files: src/diff.c, src/evalbuffer.c, src/evalfunc.c, src/job.c, + src/proto/typval.pro, src/sign.c, src/terminal.c, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3195 +Problem: Vim9: unclear error when passing too many arguments to lambda. +Solution: Pass the expression itself instead of "[expression]". + (closes #8604) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3196 +Problem: Vim9: bool expression with numbers only fails at runtime. +Solution: Check constant to be bool at compile time. (closes #8603) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3197 +Problem: Error messages are spread out. +Solution: Move a few more error messages to errors.h. +Files: src/globals.h, src/errors.h, src/edit.c, src/ex_cmds.c, + src/ex_docmd.c, src/evalvars.c, src/option.c, src/quickfix.c, + src/regexp_bt.c, src/regexp_nfa.c, src/regexp.c, src/undo.c, + src/vim9compile.c, src/vim9script.c + +Patch 8.2.3198 +Problem: Cannot use 'formatlistpat' for breakindent. +Solution: Use a negative list indent. (Maxim Kim, closes #8594) +Files: runtime/doc/options.txt, src/indent.c, + src/testdir/test_breakindent.vim + +Patch 8.2.3199 +Problem: Vim9: execution speed can be improved. +Solution: Make the break counter static. +Files: src/vim9execute.c + +Patch 8.2.3200 +Problem: Vim9: hard to guess where a type error is given. +Solution: Add the function name where possible. (closes #8608) +Files: src/dict.c, src/proto/dict.pro, src/eval.c, src/list.c, + src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/vim9type.c, src/proto/vim9type.pro, src/if_py_both.h, + src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3201 (after 8.2.3200) +Problem: Crash in test. +Solution: Initialize "where". +Files: src/eval.c, src/evalvars.c + +Patch 8.2.3202 +Problem: Vim9: tests are only executed for legacy script. +Solution: Run more tests also for Vim9 script. Fix uncovered problems. +Files: src/vim9execute.c, src/ex_docmd.c, src/testdir/test_listdict.vim + +Patch 8.2.3203 +Problem: Vim9: compiled string expression causes type error. (Yegappan + Lakshmanan) +Solution: Remove the string type from the stack. +Files: src/vim9compile.c, src/evalfunc.c + +Patch 8.2.3204 +Problem: Display garbled when 'cursorline' is set and lines wrap. (Gabriel + Dupras) +Solution: Avoid inserting lines twice. (closes #7255) +Files: src/drawscreen.c, src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_cursorline_redraw_1.dump, + src/testdir/dumps/Test_cursorline_redraw_2.dump + +Patch 8.2.3205 +Problem: Coverity reports a null pointer dereference. +Solution: Change the logic to avoid Coverity gets confused. +Files: src/vim9compile.c + +Patch 8.2.3206 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. (Yegappan Lakshmanan, closes #8611) +Files: runtime/doc/eval.txt, src/blob.c, src/cmdhist.c, src/dict.c, + src/errors.h, src/evalfunc.c, src/filepath.c, src/globals.h, + src/job.c, src/list.c, src/match.c, src/misc1.c, src/popupwin.c, + src/proto/typval.pro, src/sign.c, src/terminal.c, + src/testdir/test_blob.vim, src/testdir/test_vim9_builtin.vim, + src/typval.c + +Patch 8.2.3207 +Problem: Vim9: crash when compiling string fails. (Yegappan Lakshmanan) +Solution: Adjust the type stack length. +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3208 +Problem: Dynamic library load error does not mention why it failed. +Solution: Add the error message. (Martin Tournoij, closes #8621) +Files: src/globals.h, src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, + src/if_perl.xs, src/if_python.c, src/if_python3.c, src/if_ruby.c, + src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/os_win32.pro, + src/terminal.c + +Patch 8.2.3209 +Problem: Vim9: lambda doesn't find block-local variable. +Solution: Adjust how a script-local variable is found. (closes #8614) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3210 +Problem: Vim9: searchpair() sixth argument is compiled. (Yegappan + Lakshmanan) +Solution: Only compile the fifth argument. +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3211 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. Fix type check for matchaddpos(). + (Yegappan Lakshmanan, closes #8619) +Files: src/channel.c, src/evalfunc.c, src/evalvars.c, src/if_cscope.c, + src/job.c, src/proto/typval.pro, + src/testdir/test_vim9_builtin.vim, src/time.c, src/typval.c + +Patch 8.2.3212 +Problem: Vim9: execution speed can be improved. +Solution: Use __builtin_expect() to have the compiler produce better code. + (Dominique Pellé, closes #8613) +Files: src/vim9execute.c + +Patch 8.2.3213 +Problem: NOCOMPOUNDSUGS entry in spell file not tested. +Solution: Add a test. (Dominique Pellé, closes #8624) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.3214 +Problem: MS-Windows: passing /D does not set the install location. +Solution: Adjust how the installer uses $VIM. Update the documentation. + (Christian Brabandt, closes #8605) +Files: nsis/gvim.nsi, runtime/doc/os_win32.txt + +Patch 8.2.3215 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. Sort the argument lists. + (Yegappan Lakshmanan, closes #8626) +Files: src/change.c, src/evalfunc.c, src/filepath.c, src/sound.c, + src/testdir/test_gui.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c + +Patch 8.2.3216 +Problem: Vim9: crash when using variable in a loop at script level. +Solution: Do not clear the variable if a function was defined. + Do not create a new entry in sn_var_vals every time. + (closes #8628) +Files: src/eval.c, src/ex_eval.c, src/vim9script.c, src/userfunc.c, + src/evalvars.c, src/structs.h + +Patch 8.2.3217 (after 8.2.3216) +Problem: Build failure. +Solution: Add missing changes. +Files: src/globals.h + +Patch 8.2.3218 +Problem: When using xchaha20 crypt undo file is not removed. +Solution: Reset 'undofile' and delete the file. (Christian Brabandt, + closes #8630, closes #8467) +Files: src/bufwrite.c, src/crypt.c, src/proto/undo.pro, + src/testdir/test_crypt.vim, src/undo.c + +Patch 8.2.3219 +Problem: :find searches non-existing directories. +Solution: Check the path is not "..". Update help. (Christian Brabandt, + closes #8612, closes #8533) +Files: runtime/doc/editing.txt, src/findfile.c, + src/testdir/test_findfile.vim + +Patch 8.2.3220 +Problem: Test_term_setansicolors() fails in some configurations. +Solution: Check available features. (Dominique Pellé, closes #8636) +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3221 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. (Yegappan Lakshmanan, closes #8632) +Files: src/evalfunc.c, src/popupwin.c, src/proto/typval.pro, + src/testdir/test_assert.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim, src/testing.c, src/typval.c + +Patch 8.2.3222 +Problem: Vim9: cannot used loop variable later as lambda argument. +Solution: When not in function context check the current block ID. + (closes #8637) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3223 +Problem: Vim: using {} block in autoloade omnifunc fails. +Solution: Allow using {} block when text is locked. (closes #8631) +Files: src/ex_cmds.h, src/testdir/test_ins_complete.vim + +Patch 8.2.3224 +Problem: Cannot call script-local function after :vim9cmd. (Christian J. + Robinson) +Solution: Skip over "<SNR>123". +Files: src/vim9compile.c, src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3225 +Problem: Incsearch highlighting is attempted halfway a mapping. +Solution: Only do incsearch highlighting if keys were typed or there is no + more typeahead. +Files: src/ex_getln.c + +Patch 8.2.3226 +Problem: New digraph functions use old naming scheme. +Solution: Use the digraph_ prefix. (Hirohito Higashi, closes #8580) +Files: runtime/doc/digraph.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/digraph.c, src/edit.c, src/errors.h, + src/evalfunc.c, src/proto/digraph.pro, + src/testdir/test_digraph.vim + +Patch 8.2.3227 +Problem: 'virtualedit' can only be set globally. +Solution: Make 'virtualedit' global-local. (Gary Johnson, closes #8638) +Files: runtime/doc/options.txt, src/buffer.c, src/change.c, + src/drawscreen.c, src/edit.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/option.h, src/optiondefs.h, + src/optionstr.c, src/proto/option.pro, src/register.c, + src/structs.h, src/testdir/test_virtualedit.vim + +Patch 8.2.3228 +Problem: Cannot use a simple block for the :command argument. (Maarten + Tournoij) +Solution: Recognize a simple {} block. (issue #8623) +Files: runtime/doc/map.txt, src/misc2.c, src/proto/misc2.pro, + src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3229 +Problem: Vim9: runtime and compile time type checks are not the same. +Solution: Add more runtime type checks for builtin functions. (Yegappan + Lakshmanan, closes #8646) +Files: src/arglist.c, src/change.c, src/channel.c, src/cindent.c, + src/clientserver.c, src/cmdhist.c, src/dict.c, src/diff.c, + src/digraph.c, src/errors.h, src/eval.c, src/evalbuffer.c, + src/evalfunc.c, src/evalwindow.c, src/ex_docmd.c, src/ex_getln.c, + src/filepath.c, src/findfile.c, src/float.c, src/fold.c, + src/getchar.c, src/indent.c, src/insexpand.c, src/job.c, + src/json.c, src/list.c, src/mark.c, src/match.c, src/mbyte.c, + src/menu.c, src/misc1.c, src/move.c, src/popupwin.c, + src/proto/typval.pro, src/quickfix.c, src/search.c, src/sign.c, + src/sound.c, src/strings.c, src/terminal.c, + src/testdir/test_assert.vim, src/testdir/test_blob.vim, + src/testdir/test_execute_func.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_listdict.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim, src/testing.c, src/textprop.c, + src/time.c, src/typval.c, src/undo.c + +Patch 8.2.3230 +Problem: Vim9: type error when function return type is not known yet. +Solution: When return type is unknown, use "any". (closes #8644) +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3231 +Problem: Build failure with small features. +Solution: Adjust #ifdef. +Files: src/errors.h + +Patch 8.2.3232 (after 8.2.3229) +Problem: system() does not work without a second argument. +Solution: Do not require a second argument. (Yegappan Lakshmanan, + closes #8651, closes #8650) +Files: src/misc1.c, src/proto/typval.pro, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3233 +Problem: prop_list() and prop_find() do not indicate the buffer for the + used type. +Solution: Add "type_bufnr" to the results. (closes #8647) +Files: runtime/doc/textprop.txt, src/testdir/test_textprop.vim, + src/textprop.c + +Patch 8.2.3234 +Problem: Crash when printing long string with Lua. +Solution: Remove lua_pop(). (Martin Tournoij, closes #8648) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3235 +Problem: Cannot use lambda in {} block in user command. (Martin Tournoij) +Solution: Do not go over the end of the lambda. +Files: src/userfunc.c, src/testdir/test_usercommands.vim + +Patch 8.2.3236 +Problem: mode() does not indicate using CTRL-O in Select mode. +Solution: Use "vs" and similar. (closes #8640) +Files: runtime/doc/eval.txt, src/globals.h, src/misc1.c, src/normal.c, + src/testdir/test_functions.vim + +Patch 8.2.3237 +Problem: When a builtin function gives an error processing continues. +Solution: In Vim9 script return FAIL in get_func_tv(). +Files: src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3238 +Problem: Vim9: error message does not indicate the location. +Solution: Add the relevant text. (issue #8634) +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3239 +Problem: Vim9: no error using heredoc for a number variable. +Solution: Add a type check. (closes #8627) +Files: src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3240 +Problem: Lua print() does not work properly. +Solution: Put back lua_pop(). +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3241 +Problem: Vim9: memory leak when function reports an error. +Solution: Clear the return value. +Files: src/userfunc.c + +Patch 8.2.3242 +Problem: Vim9: valgrind reports leaks in builtin function test. +Solution: Do not start a job. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3243 +Problem: MS-Windows: the "edit with multiple Vim" choice is not that + useful. +Solution: Change it to "Edit with multiple tabs". (Michael Soyka, + closes #8645) +Files: src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.h + +Patch 8.2.3244 +Problem: Lua 5.3 print() with a long string crashes. +Solution: Use a growarray instead of a Lua buffer. (Yegappan Lakshmanan, + closes #8655) +Files: src/if_lua.c, src/misc2.c, src/proto/misc2.pro + +Patch 8.2.3245 +Problem: The crypt key may appear in a swap partition. +Solution: When using xchaha20 use sodium_mlock(). (Christian Brabandt, + closes #8657) +Files: src/buffer.c, src/crypt.c, src/errors.h, src/fileio.c, + src/memline.c, src/vim.h + +Patch 8.2.3246 +Problem: Memory use after free. +Solution: When clearing a string option set the pointer to "empty_option". +Files: src/option.c + +Patch 8.2.3247 +Problem: Using uninitialized memory when checking for crypt method. +Solution: Check the header length before using the salt and seed. +Files: src/fileio.c + +Patch 8.2.3248 +Problem: Vim9: error message for wrong input uses wrong line number. +Solution: Use the line number of the start of the command. (issue #8653) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3249 +Problem: Vim9: error for re-imported function with default argument. +Solution: Do not check argument type if it is still unknown. (closes #8653) +Files: src/vim9type.c, src/proto/vim9type.pro, src/vim9script.c, + src/vim.h, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3250 +Problem: MS-Windows: cannot build with libsodium. +Solution: Change FEAT_SODIUM into HAVE_SODIUM. (Christian Brabandt, + closes #8668, closes #8663) +Files: src/Make_mvc.mak + +Patch 8.2.3251 +Problem: Listing builtin_gui as an available terminal is confusing. +Solution: Do not list builtin_gui. (Christian Brabandt, closes #8669, + closes #8661) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.3252 +Problem: Duplicated code for adding buffer lines. +Solution: Move code to a common function. Also move map functions to map.c. + (Yegappan Lakshmanan, closes #8665) +Files: src/evalbuffer.c, src/evalfunc.c, src/map.c, src/proto/map.pro + +Patch 8.2.3253 +Problem: Channel test fails randomly. +Solution: Add a sleep after sending the "echoerr" command. (Michael Soyka) +Files: src/testdir/test_channel.vim, src/testdir/test_channel.py + +Patch 8.2.3254 +Problem: win_gettype() does not recognize a quickfix window. +Solution: Add "quickfix" and "loclist". (Yegappan Lakshmanan, closes #8676) +Files: runtime/doc/eval.txt, src/evalwindow.c, src/misc2.c, + src/testdir/test_quickfix.vim + +Patch 8.2.3255 +Problem: ci" finds following string but ci< and others don't. +Solution: When not inside an object find the start. (Connor Lane Smit, + closes #8670) +Files: src/search.c, src/testdir/test_textobjects.vim, src/textobject.c + +Patch 8.2.3256 +Problem: Executable test may fail on new Ubuntu system. +Solution: Consider /usr/bin/cat and /bin/cat the same. +Files: src/testdir/test_functions.vim + +Patch 8.2.3257 +Problem: Calling prop_find() with -1 for ID gives errornous error. (Naohiro + Ono) +Solution: When passing -1 use -2. (closes #8674) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.3258 +Problem: Error messages have the wrong text. +Solution: Adjust the error message. +Files: src/errors.h, src/typval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3259 +Problem: When 'indentexpr' causes an error the did_throw flag may remain + set. +Solution: Reset did_throw and show the error. (closes #8677) +Files: src/indent.c, src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.2.3260 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.3261 +Problem: Vim9: when compiling repeat(123, N) return type is number. +Solution: Make return type a string. (closes #8664) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3262 +Problem: Build failure when ABORT_ON_INTERNAL_ERROR is defined. +Solution: Adjust how estack_len_before is used. +Files: src/ex_docmd.c + +Patch 8.2.3263 +Problem: Vim9: "..=" does not accept same types as the ".." operator. +Solution: Convert value to string like ".." does. (issue #8664) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3264 (after 8.2.3263) +Problem: Vim9: assign test fails. +Solution: Add missing change. +Files: src/eval.c + +Patch 8.2.3265 +Problem: Smartcase does not work correctly in very magic pattern. +Solution: Take the magicness into account when skipping over regexp items. + (Christian Brabandt, closes #8682, closes #7845) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.2.3266 +Problem: Vim9: assignment with two indexes may check next line. +Solution: Limit the number of lines to avoid checking the next line when + assiging to a LHS subscript. (closes #8660) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3267 +Problem: Vim9: crash when disassembling a function that uses a deleted + script variable. +Solution: Check the variable still exists. (closes #8683) +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3268 +Problem: Cannot use a block with :autocmd like with :command. +Solution: Add support for a {} block after :autocmd. (closes #8620) +Files: runtime/doc/autocmd.txt, runtime/doc/map.txt, src/autocmd.c, + src/proto/autocmd.pro, src/usercmd.c, src/proto/usercmd.pro, + src/ex_docmd.c, src/vim.h, src/testdir/test_autocmd.vim + +Patch 8.2.3269 +Problem: Vim9: wrong argument check for partial. (Naohiro Ono) +Solution: Handle getting return type without arguments. Correct the minimal + number of arguments for what is included in the partial. + (closes #8667) +Files: src/evalfunc.c, src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3270 +Problem: prop_find() finds property with ID -2. +Solution: Use a separate flag to indicate an ID was specified. (issue #8674) +Files: src/textprop.c + +Patch 8.2.3271 +Problem: Vim9: cannot use :command or :au with a block in a :def function. +Solution: Recognize the start of the block. +Files: src/userfunc.c, src/usercmd.c, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3272 +Problem: Cannot use id zero with prop_find(). (Naohiro Ono) +Solution: Also accept id zero. +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.3273 +Problem: Autocmd test fails. +Solution: Require white space before the "{" that starts a block. +Files: src/userfunc.c + +Patch 8.2.3274 +Problem: Macro for printf format check can be simplified. +Solution: Add ATTRIBUTE_FORMAT_PRINTF(). (Dominique Pellé, issue #8635) +Files: src/channel.c, src/gui_xim.c, src/if_mzsch.c, src/nbdebug.c, + src/nbdebug.h, src/netbeans.c, src/proto.h, src/term.c, src/vim.h, + src/vim9execute.c + +Patch 8.2.3275 +Problem: Optimizer can use hints about ga_grow() normally succeeding. +Solution: Use GA_GROW_FAILS() and GA_GROW_OK() in several places. (Dominique + Pellé, issue #8635) +Files: src/arglist.c, src/macros.h, src/vim9execute.c, src/vim9compile.c + +Patch 8.2.3276 +Problem: Vim9: exists() can only be evaluated at runtime. +Solution: Evaluate at compile time for option name literals. (closes #8437) +Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3277 (after 8.2.3276) +Problem: Vim9: compiled has() does not work properly. +Solution: Fix check for has() vs exists(). +Files: src/vim9compile.c + +Patch 8.2.3278 +Problem: Vim9: error when adding 1 to float. +Solution: Accept t_number_bool. (closes #8687) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3279 +Problem: Vim9: cannot use block in cmdline window. +Solution: Add EX_CMDWIN to the CMD_block flags. (closes #8689) +Files: src/ex_cmds.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3280 +Problem: 'virtualedit' local to buffer is not the best solution. +Solution: Make it window-local. (Gary Johnson, closes #8685) +Files: runtime/doc/options.txt, src/buffer.c, src/drawscreen.c, + src/ops.c, src/option.c, src/option.h, src/optionstr.c, + src/structs.h, src/testdir/test_virtualedit.vim + +Patch 8.2.3281 +Problem: Vim9: TODO items in tests can be taken care of. +Solution: Update test for now working functionality. (closes #8694) +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3282 +Problem: Vim9: error about using -complete without -nargs is confusing. +Solution: Change the wording. +Files: src/usercmd.c, src/errors.h + +Patch 8.2.3283 +Problem: Julia filetype is not recognized +Solution: Add filetype detection. (Christian Clason, closes #8700) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3284 +Problem: No error for insert() or remove() changing a locked blob. +Solution: Check a blob is not locked before changing it. (Sean Dewar, + closes #8696) +Files: src/blob.c, src/errors.h, src/eval.c, src/list.c, + src/proto/blob.pro, src/testdir/test_blob.vim, + src/testdir/test_eval_stuff.vim + +Patch 8.2.3285 +Problem: Scdoc filetype is not recognized. +Solution: Add filetype detection. (Gregory Anders, closes #8701) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3286 +Problem: win_enter_ext() has too many boolean arguments. +Solution: use one flags argument with defined values. +Files: src/window.c + +Patch 8.2.3287 +Problem: Channel events not handled in BufEnter autocommand. +Solution: Decrement dont_parse_messages earlier. (Tim Pope, closes #8697) +Files: src/window.c, src/testdir/test_channel.vim + +Patch 8.2.3288 +Problem: Cannot easily access namespace dictionaries from Lua. +Solution: Add vim.g, vim.b, etc. (Yegappan Lakshmanan, closes #8693, + from NeoVim) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3289 (after 8.2.3287) +Problem: Compiler warning for unused variable with small features. +Solution: Rearrange #ifdefs. +Files: src/window.c + +Patch 8.2.3290 +Problem: Vim9: compiling dict may use pointer after free and leak memory on + failure. +Solution: Pass a pointer to generate_PUSHS(). (Zdenek Dohnal, closes #8699) +Files: src/vim9compile.c + +Patch 8.2.3291 +Problem: Coverity warns for not checking return value. +Solution: If dict_add() fails give an error message. +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3292 +Problem: Underscore in very magic pattern causes a hang. Pattern with \V + are case sensitive. (Yutao Yuan) +Solution: Adjust condition for magicness and advance pointer. (Christian + Brabandt, closes #8707, closes #8704, closes #8705) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.2.3293 +Problem: Finding completions may cause an endless loop. +Solution: Use a better way to check coming back where the search started. + (Andy Gozas, closes #8672, closes #8671) +Files: src/insexpand.c, src/testdir/Make_all.mak, + src/testdir/test_ins_complete_no_halt.vim + +Patch 8.2.3294 +Problem: Lua: memory leak when adding dict item fails. +Solution: Free the typval and the dict item. +Files: src/if_lua.c + +Patch 8.2.3295 +Problem: 'cursorline' should not apply to 'breakindent'. +Solution: Make 'cursorline' apply to 'breakindent' and 'showbreak' + consistently. (closes #8684) +Files: src/drawline.c, src/testdir/dumps/Test_Xcursorline_19.dump, + src/testdir/dumps/Test_Xcursorline_20.dump, + src/testdir/dumps/Test_Xcursorline_21.dump, + src/testdir/dumps/Test_Xcursorline_22.dump, + src/testdir/dumps/Test_Xcursorline_23.dump, + src/testdir/dumps/Test_Xcursorline_24.dump, + src/testdir/dumps/Test_diff_with_cul_bri_01.dump, + src/testdir/dumps/Test_diff_with_cul_bri_02.dump, + src/testdir/dumps/Test_diff_with_cul_bri_03.dump, + src/testdir/dumps/Test_diff_with_cul_bri_04.dump, + src/testdir/test_cursorline.vim, src/testdir/test_diffmode.vim + +Patch 8.2.3296 +Problem: Vim9: cannot add a number to a float. +Solution: Accept a number if the destination is a float. (closes #8703) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3297 +Problem: Cannot use all commands inside a {} block after :command and + :autocmd. +Solution: Do consider \n to separate commands. (closes #8620) +Files: runtime/doc/map.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_eval.c, src/proto/ex_eval.pro, src/eval.c, src/evalvars.c, + src/ex_cmds.c, src/syntax.c, src/userfunc.c, src/vim9compile.c, + src/vim9script.c, src/errors.h, src/testdir/test_autocmd.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.3298 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.3299 +Problem: Vim9: exists() does not handle much at compile time. +Solution: Handle variable names. (closes #8688) +Files: src/vim9compile.c, src/evalfunc.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3300 +Problem: Lua: can only execute one Vim command at a time. Not easy to get + the Vim version. +Solution: Make vim.command() accept multiple lines. Add vim.version(). + (Yegappan Lakshmanan, closes #8716) +Files: runtime/doc/if_lua.txt, src/evalfunc.c, src/if_lua.c, + src/proto/evalfunc.pro, src/testdir/test_lua.vim, + src/testdir/test_shell.vim + +Patch 8.2.3301 +Problem: Memory allocation functions don't have their own place. +Solution: Move memory allocation functions to alloc.c. (Yegappan + Lakshmanan, closes #8717) +Files: Filelist, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/alloc.c, src/misc2.c, src/proto.h, src/proto/alloc.pro, + src/proto/misc2.pro + +Patch 8.2.3302 +Problem: Coverity is not run from github. +Solution: Add a coverity script. (James McCoy, closes #8714) +Files: .github/workflows/coverity.yml, Filelist + +Patch 8.2.3303 +Problem: Some structures could be smaller. +Solution: Rearrange members to reduce size. (Dominique Pellé, closes #8725) +Files: src/structs.h, src/vim9.h, src/vim9execute.c + +Patch 8.2.3304 +Problem: Popup window title with wide characters is truncated. +Solution: Use vim_strsize() instead of MB_CHARLEN(). (Naruhiko Nishino, + closes #8721) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_multibytetitle.dump + +Patch 8.2.3305 +Problem: Vim9: :finally in skipped block not handled correctly. +Solution: Check whether :finally is in a skipped block. (Naruhiko Nishino, + closes #8724) +Files: src/ex_eval.c, src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3306 +Problem: Unexpected "No matching autocommands". +Solution: Do not give the message when aborting. Mention the arguments in + the message. (closes #8690) +Files: src/autocmd.c, + +Patch 8.2.3307 +Problem: Vim9: :echoconsole cannot access local variables. +Solution: Handle like other :echo commands. (closes #8708) +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3308 +Problem: Vim9: no runtime check for argument type if a function only has + varargs. +Solution: Also check argument types if uf_va_type is set. (closes #8715) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3309 +Problem: Vim9: divide by zero causes a crash. +Solution: Give an error message. (closes #8727) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3310 +Problem: Vim9: unpack assignment does not mention source of type error. +Solution: Mention the argument number. (closes #8719) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3311 +Problem: Vim9: check for DO_NOT_FREE_CNT is very slow. +Solution: Move to a separate function so it can be skipped by setting + $TEST_SKIP_PAT. +Files: src/testdir/test_vim9_expr.vim, src/testdir/runtest.vim + +Patch 8.2.3312 +Problem: Vim9: after "if false" line breaks in expression not skipped. +Solution: Do parse the expression. (closes #8723) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3313 +Problem: Unused code in win_exchange() and frame_remove(). +Solution: Remove the code. (closes #8728) +Files: src/window.c + +Patch 8.2.3314 +Problem: Behavior of exists() in a :def function is unpredictable. +Solution: Add exists_compiled(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/errors.h, src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3315 +Problem: Cannot use single quote in a float number for readability. +Solution: Support single quotes like in numbers. (closes #8713) +Files: src/typval.c, src/float.c, src/proto/float.pro, src/json.c, + src/viminfo.c, src/testdir/test_float_func.vim + +Patch 8.2.3316 (after 8.2.3315) +Problem: Float test fails. +Solution: Add missing change. +Files: src/evalfunc.c + +Patch 8.2.3317 +Problem: Vim9: No error for missing white space before return type. +Solution: Check for white space. (closes #8733) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3318 +Problem: Vim9: cannot ignore quotes in number at the command line. +Solution: Use in_vim9script() so that after ":vim9" quotes are ignored. +Files: src/typval.c, src/testdir/test_float_func.vim + +Patch 8.2.3319 +Problem: Coverity action on github does not work. +Solution: Remove undefined $SRCDIR. (James McCoy, closes #8739) +Files: .github/workflows/coverity.yml + +Patch 8.2.3320 +Problem: Some local functions are not static. +Solution: Add "static". Move snprintf() related code to strings.c. + (Yegappan Lakshmanan, closes #8734) +Files: src/alloc.c, src/channel.c, src/dict.c, src/digraph.c, src/edit.c, + src/ex_docmd.c, src/getchar.c, src/job.c, src/list.c, + src/message.c, src/profiler.c, src/proto/channel.pro, + src/proto/dict.pro, src/proto/digraph.pro, src/proto/edit.pro, + src/proto/ex_docmd.pro, src/proto/getchar.pro, src/proto/job.pro, + src/proto/list.pro, src/proto/profiler.pro, src/proto/spell.pro, + src/proto/vim9compile.pro, src/proto/vim9script.pro, + src/proto/vim9type.pro, src/spell.c, src/strings.c, + src/vim9compile.c, src/vim9script.c, src/vim9type.c, src/window.c + +Patch 8.2.3321 +Problem: Some code is not tested. +Solution: Add some more tests. (Dominique Pellé, closes #8735) +Files: src/testdir/test_excmd.vim, src/testdir/test_writefile.vim + +Patch 8.2.3322 +Problem: Vim9: checking type of dict does not check member type. +Solution: When getting the type of a typval use dv_type and lv_type. + (closes #8732) +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3323 +Problem: Help tag for exists_compiled() is wrong. (Maxim Kim) +Solution: Adjust the help tag. +Files: runtime/doc/eval.txt + +Patch 8.2.3324 +Problem: Vim9: Cannot use :silent with :endwhile. +Solution: Allow for using the :silent modifier. (closes #8737) +Files: src/ex_eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3325 +Problem: Digraph test fails when LC_ALL is set to "C". +Solution: When restoring 'encoding' set it to "utf-8". (closes #8742) +Files: src/testdir/test_digraph.vim + +Patch 8.2.3326 +Problem: Vim9: no error passing an empty list of the wrong type. +Solution: Use ISN_SETTYPE also for "list<any>". (closes #8732) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3327 +Problem: No check for sysconf() failing. +Solution: If sysconf() fails use SIGSTKSZ for the signal stack size. + (Zdenek Dohnal, closes #8743) +Files: src/os_unix.c + +Patch 8.2.3328 +Problem: Coverity error for not checking return value. +Solution: Check value is not negative. +Files: src/spellfile.c + +Patch 8.2.3329 +Problem: v_lock not set when getting value of environment variable. +Solution: Set v_lock to zero. +Files: src/typval.c + +Patch 8.2.3330 +Problem: Coverity reports using uninitialized field. +Solution: Initialize the field early. +Files: src/tag.c + +Patch 8.2.3331 +Problem: Coverity warns for using value without boundary check. +Solution: Add a boundary check. +Files: src/viminfo.c + +Patch 8.2.3332 +Problem: Vim9: cannot assign to range in list. +Solution: Implement overwriting a list range. +Files: src/vim9compile.c, src/vim9execute.c, src/list.c, + src/proto/list.pro, src/eval.c, src/proto/eval.pro, + src/testdir/test_listdict.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.3333 +Problem: Vim9: not enough tests run with Vim9. +Solution: Run a few more tests in Vim9 script and :def function. +Files: src/testdir/test_listdict.vim, src/testdir/vim9.vim + +Patch 8.2.3334 +Problem: Vim9: not enough tests run with Vim9. +Solution: Run a few more tests in Vim9 script and :def function. Fix + islocked(). Fix error for locking local variable. +Files: src/evalfunc.c, src/vim9compile.c, src/testdir/test_listdict.vim + +Patch 8.2.3335 +Problem: Vim9: not enough tests run with Vim9. +Solution: Run a few more tests in Vim9 script and :def function. Fix that + items(), keys() and values9) return zero for a NULL dict. + Make join() return an empty string for a NULL list. Make sort() + return an empty list for a NULL list. +Files: src/dict.c, src/list.c, src/testdir/test_listdict.vim, + src/testdir/vim9.vim + +Patch 8.2.3336 +Problem: Behavior of negative index in list change changed. (Naruhiko + Nishino) +Solution: Only change it for Vim9 script. (closes #8749) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.3337 +Problem: Completing "call g:" returns entries with just "g:". (Naohiro Ono) +Solution: Skip empty strings returned by get_user_func_name(). (closes #8753) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 8.2.3338 +Problem: Vim9: no type check when assigning a list range. (Naohiro Ono) +Solution: Check the member type. (closes #8750) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.3339 +Problem: Vim9: cannot lock a member in a local dict. +Solution: Get the local dict from the stack and pass it to get_lval(). +Files: src/eval.c, src/vim9execute.c, src/vim9compile.c, src/vim9.h, + src/globals.h, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3340 (after 8.2.3339) +Problem: Accessing uninitialized pointer. +Solution: Set pointer to NULL. +Files: src/eval.c + +Patch 8.2.3341 +Problem: Vim9: function call aborted despite try/catch. (Naohiro Ono) +Solution: Ignore error caught by try/catch. (closes #8755) +Files: src/evalvars.c, src/vim9execute.c, src/message.c, src/time.c, + src/globals.h, src/testdir/vim9.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.3342 (after 8.2.3341) +Problem: Test for :let errors fails. +Solution: Adjust the test and how to avoid a second error message. +Files: src/evalvars.c, src/testdir/test_let.vim + +Patch 8.2.3343 (after 8.2.3342) +Problem: Vim9: autoload test fails. +Solution: Adjust the way the second message is avoided +Files: src/evalvars.c + +Patch 8.2.3344 (after 8.2.3343) +Problem: Vimscript test fails. +Solution: Have test verify first error instead of second +Files: src/testdir/test_vimscript.vim + +Patch 8.2.3345 +Problem: Some code not covered by tests. +Solution: Add a few more tests. (Dominique Pellé, closes #8757) +Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, + src/testdir/test_spellfile.vim, src/testdir/test_substitute.vim + +Patch 8.2.3346 +Problem: Vim9: no error for using "." for concatenation after ":vim9cmd". + (Naohiro Ono) +Solution: Check for Vim9 script syntax. (closes #8756) +Files: src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3347 +Problem: Check for legacy script is incomplete. (Naohiro Ono) +Solution: Also check the :legacy modifier. Use for string concatenation + with "." and others (issue #8756) +Files: src/vim9script.c, src/proto/vim9script.pro, src/eval.c, + src/typval.c, src/evalvars.c, src/errors.h, src/ex_docmd.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3348 +Problem: line2byte() returns wrong value after adding textprop. (Yuto + Kimura) +Solution: Reduce the length by the size of the text property. (closes #8759) +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.3349 (after 8.2.3347) +Problem: Eval test for scriptversion fails. +Solution: Fix off-by-one error. +Files: src/vim9script.c + +Patch 8.2.3350 (after 8.2.3348) +Problem: Text properties test fails on MS-Windows. +Solution: Set fileformat to unix. +Files: src/testdir/test_textprop.vim + +Patch 8.2.3351 +Problem: Vim9: using a function by name may delete it. (Naohiro Ono) +Solution: Increment the reference count when using a function by name. + (closes #8760) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3352 +Problem: Vim9: error for nested :enddef has wrong line number. +Solution: Compute the line number. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3353 +Problem: Vim9: type of argument for negate not checked at compile time. +Solution: Add a compile time check. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3354 +Problem: Build failure with +byte_offset but without +textprop. (John + Marriott) +Solution: Adjust the #ifdef. +Files: src/memline.c + +Patch 8.2.3355 +Problem: MS-Windows: compiler warning for 64-32 bit conversion. +Solution: Add type casts. +Files: src/memline.c + +Patch 8.2.3356 +Problem: Adding many text properties requires a lot of function calls. +Solution: Add the prop_add_list() function. (Yegappan Lakshmanan, + closes #8751) +Files: runtime/doc/eval.txt, runtime/doc/textprop.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/textprop.pro, + src/testdir/test_textprop.vim, src/testdir/test_vim9_builtin.vim, + src/textprop.c + +Patch 8.2.3357 +Problem: Crash when 'virtualedit' is set and window is narrow. +Solution: Check that width is not zero. (closes #8767) +Files: src/misc2.c, src/testdir/test_number.vim + +Patch 8.2.3358 +Problem: Structurizr files are not recognized. +Solution: Recognize the file by contents. (Bastian Venthur, closes #8764) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3359 +Problem: Vim9: error for type when variable is not set. +Solution: Give a specific error for a NULL function. (closes #8773) +Files: src/vim9type.c, src/errors.h, src/testdir/test_vim9_func.vim + +Patch 8.2.3360 +Problem: User function completion fails with dict function. +Solution: Do not stop sequencing through the list if user functions when + encountering an empty name. (Naohiro Ono, closes #8765, + closes #8774) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 8.2.3361 +Problem: Vim9: crash with nested :while. +Solution: Handle skipping better. (Naruhiko Nishino, closes #8778) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3362 +Problem: Buffer overflow when completing long tag name. +Solution: Allocate the buffer dynamically. (Gregory Anders, closes #8769) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.3363 +Problem: When :edit reuses the current buffer the alternate file is set to + the same buffer. +Solution: Only set the alternate file when not reusing the buffer. + (closes #8783) +Files: src/ex_cmds.c, src/testdir/test_undo.vim, + src/testdir/test_cmdline.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3364 +Problem: Vim9: crash when :for is skipped. +Solution: Skip more code generation. (Naruhiko Nishino, closes #8777) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3365 +Problem: Vim9: cannot use option for all operations. +Solution: Recognize more operations. (closes #8779) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/ex_docmd.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3366 +Problem: Vim9: debugging elseif does not stop before condition. +Solution: Move debug statement to after the jump. (closes #8781) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3367 +Problem: Vim9: :@r executing a register is inconsistent. +Solution: Use "@r" as the start of an expression. (issue #8779) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3368 +Problem: Not all Racket files are recognized. +Solution: Also recognize .rktl and .rktd files. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3369 +Problem: Auto formatting after "cw" leaves cursor in wrong spot. +Solution: Do not auto-format after the delete. (closes #8789) +Files: src/ops.c, src/testdir/test_textformat.vim + +Patch 8.2.3370 +Problem: Vim9: no check for white space before type in declaration. + (Naohiro Ono) +Solution: Check for white space like in a compiled function. (closes #8785) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3371 +Problem: Vim9: :$ENV cannot be followed by ->func() in next line. +Solution: Use "$ENV" as the start of an expression. (closes #8790) +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3372 +Problem: line2byte() value wrong when adding a text property. (Yuto Kimura) +Solution: Adjust length for text property. (closes #8772) Also fix it for + deleting a line. +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.3373 (after 8.2.3372) +Problem: text property test fails on MS-Windows. +Solution: Set fileformat to "unix" +Files: src/testdir/test_textprop.vim + +Patch 8.2.3374 +Problem: Pyret files are not recognized. +Solution: Recognize .arr files as Pyret. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3375 +Problem: Using uninitialized memory. +Solution: Initialize textprop_save_len. +Files: src/memline.c + +Patch 8.2.3376 +Problem: Vim9: no warning that "@r" does not do anything. +Solution: Give a "no effect" error. (closes #8779) +Files: src/ex_eval.c, src/proto/ex_eval.pro, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3377 +Problem: Vim9: :disass completion does not understand "s:". +Solution: Expand "s:" to a pattern. (closes #8780) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3378 +Problem: MS-Windows: completing environment variables with % is wrong. +Solution: Only complete environment variables with $. (Albert Liu, + closes #8791) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3379 +Problem: Crash when using NULL job. +Solution: Copy static string into buffer. (issue #8260) +Files: src/job.c, src/testdir/test_channel.vim + +Patch 8.2.3380 +Problem: Crash when using NULL string for funcref(). +Solution: Check for NULL argument. (issue #8260) +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 8.2.3381 +Problem: Crash when using NULL list with sign functions. +Solution: Handle a NULL list like an empty list. (issue #8260) +Files: src/globals.h, src/testdir/test_signs.vim + +Patch 8.2.3382 +Problem: Crash when getting the type of a NULL partial. +Solution: Check for NULL. (closes #8260) +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3383 +Problem: Vim9: completion for :disassemble adds parenthesis. +Solution: Don't add parenthesis. (Naohiro Ono, closes #8802) +Files: src/userfunc.c, src/testdir/test_cmdline.vim + +Patch 8.2.3384 +Problem: Cannot disable modeline for an individual file. +Solution: Recognize "nomodeline" in a modeline. (Hu Jialun, closes #8798) +Files: runtime/doc/options.txt, src/buffer.c, + src/testdir/test_modeline.vim + +Patch 8.2.3385 +Problem: Escaping for fish shell does not work properly. +Solution: Insert a backslash before a backslash. (Jason Cox, closes #8810) +Files: runtime/doc/eval.txt, src/strings.c, src/testdir/test_shell.vim + +Patch 8.2.3386 +Problem: Using uninitialized memory. +Solution: Initialize the rm_ic field. (Dominique Pellé, closes #8800) +Files: src/indent.c + +Patch 8.2.3387 +Problem: Compiler warning for non-static function. +Solution: Make the function static. (Dominique Pellé, closes #8816) +Files: src/strings.c + +Patch 8.2.3388 +Problem: fnamemodify('path/..', ':p') differs from using 'path/../'. (David + Briscoe) +Solution: Include the "/.." in the directory name. (closes #8808) +Files: src/os_unix.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.3389 +Problem: Cannot stop insert mode completion without side effects. +Solution: Add CTRL-X CTRL-Z. (closes #8821) +Files: runtime/doc/index.txt, runtime/doc/insert.txt, src/insexpand.c, + src/testdir/test_ins_complete.vim + +Patch 8.2.3390 +Problem: Included xdiff code is outdated. +Solution: Sync with xdiff in git 2.33. (Christian Brabandt, closes #8431) +Files: src/diff.c, src/xdiff/README.txt, src/xdiff/xdiff.h, + src/xdiff/xdiffi.c, src/xdiff/xdiffi.h, src/xdiff/xemit.c, + src/xdiff/xemit.h, src/xdiff/xhistogram.c, src/xdiff/xinclude.h, + src/xdiff/xmacros.h, src/xdiff/xpatience.c, src/xdiff/xprepare.h, + src/xdiff/xtypes.h, src/xdiff/xutils.c, src/xdiff/xutils.h + +Patch 8.2.3391 +Problem: Crash with combination of 'linebreak' and other options. +Solution: Avoid n_extra to become negative. (Christian Brabandt, + closes #8817) +Files: src/drawline.c + +Patch 8.2.3392 +Problem: augroup completion escapes regexp pattern characters. +Solution: Do not escape the augroup name. (closes #8826) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3393 +Problem: Escaping for fish shell is skipping some characters. +Solution: Escape character after backslash if needed. (Jason Cox, + closes #8827) +Files: src/strings.c, src/testdir/test_shell.vim + +Patch 8.2.3394 +Problem: Filler lines are wrong when changing text in diff mode. +Solution: Don't change the filler lines on every change. Check + scrollbinding when updating the filler lines. (closes #8809) +Files: src/move.c, src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_scroll_change_01.dump, + src/testdir/dumps/Test_diff_scroll_change_02.dump + +Patch 8.2.3395 +Problem: Vim9: expression breakpoint not checked in :def function. +Solution: Always compile a function for debugging if there is an expression + breakpoint. (closes #8803) +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/debugger.c, + src/proto/debugger.pro, src/vim.h, src/vim9.h, + src/testdir/test_debugger.vim + +Patch 8.2.3396 +Problem: When libcall() fails invalid pointer may be used. +Solution: Initialize the string to NULL. (Yasuhiro Matsumoto, closes #8829) +Files: src/evalfunc.c + +Patch 8.2.3397 +Problem: No test for what 8.2.3391 fixes. +Solution: Add a test. (Yegappan Lakshmanan, closes #8828) +Files: src/testdir/test_breakindent.vim + +Patch 8.2.3398 +Problem: Html text objects are not fully tested. +Solution: Add tests for dbcs encoding and different number of backslashes. + (Dominique Pellé, closes #8831) +Files: src/testdir/test_textobjects.vim + +Patch 8.2.3399 +Problem: Octave files are not recognized. +Solution: Detect Octave files. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, runtime/doc/filetype.txt, + runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3400 +Problem: ":z!" is not supported. +Solution: Make ":z!" work and add tests. (Dominique Pellé, closes #8836) + Use display height instead of current window height. +Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_cmds.c, + src/testdir/test_ex_z.vim + +Patch 8.2.3401 +Problem: Vim9: cannot use a negative count with finddir() and findfile(). +Solution: Adjust the return type. (closes #8776) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3402 +Problem: Invalid memory access when using :retab with large value. +Solution: Check the number is positive. +Files: src/indent.c, src/option.c, src/optionstr.c, + src/testdir/test_retab.vim + +Patch 8.2.3403 (after 8.2.3402) +Problem: Memory leak for :retab with invalid argument. +Solution: Free the memory. Make error messages consistent. +Files: src/indent.c + +Patch 8.2.3404 +Problem: Vim9: no error for white space before "(". +Solution: Give an error, like in a compiled function. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3405 +Problem: Cannot have a comment line in a {} block of a user command. +Solution: Continue after the line break. (closes #8837) +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3406 +Problem: On some systems tests fail without _REENTRANT. (Elimar + Riesebieter) +Solution: Add -D_REENTRANT in configure. (closes #7402) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3407 +Problem: Using uninitialized memory with "let g:['bar'] = 2". +Solution: Initialize v_type of a new dict item. +Files: src/dict.c + +Patch 8.2.3408 +Problem: Can delete a numbered function. (Naohiro Ono) +Solution: Disallow deleting a numbered function. (closes #8760) +Files: src/userfunc.c, src/testdir/test_user_func.vim + +Patch 8.2.3409 +Problem: Reading beyond end of line with invalid utf-8 character. +Solution: Check for NUL when advancing. +Files: src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.3410 +Problem: Crash with linebreak, listchars and large tabstop. +Solution: Account for different size listchars for a tab. (closes #8841) +Files: src/drawline.c, src/testdir/test_listlbr_utf8.vim + +Patch 8.2.3411 +Problem: Vim9: crash when using base name of import. (Naohiro Ono) +Solution: Check the import flags. (closes #8843) +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.3412 (after 8.2.3411) +Problem: Vim9: importing the wrong file. +Solution: Correct the file name. Delete the file afterwards. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3413 +Problem: Vim9: too many characters are allowed in import name. +Solution: Disallow ':' and '#', check for white space. (closes #8845) +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.3414 +Problem: fullcommand() gives the wrong name if there is a buffer-local user + command. (Naohiro Ono) +Solution: Use a separate function to get the user command name. + (closes #8840) +Files: src/usercmd.c, src/proto/usercmd.pro, src/ex_docmd.c, + src/testdir/test_cmdline.vim + +Patch 8.2.3415 +Problem: Vim9: Not all function argument types are properly checked. +Solution: Add and improve argument type checks. (Yegappan Lakshmanan, + closes #8839) +Files: src/channel.c, src/digraph.c, src/evalfunc.c, src/terminal.c, + src/testdir/test_digraph.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3416 +Problem: Second error is reported while exception is being thrown. +Solution: Do not check for trailing characters when already aborting. + (closes #8842) +Files: src/userfunc.c, src/testdir/test_trycatch.vim + +Patch 8.2.3417 +Problem: Vim9: a failing debug expression aborts script sourcing. +Solution: Do not let expression failure abort script sourcing. (closes #8848) +Files: src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.3418 +Problem: Garbage collection while evaluating may cause trouble. +Solution: Disable garbage collection while evaluating an expression. + (Christian Brabandt, issue #8848) +Files: src/eval.c + +Patch 8.2.3419 +Problem: A failing debug expression may make Vim unusable. +Solution: Suppress error messages. (closes #8848) +Files: src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.3420 +Problem: _REENTRANT defined more than once. +Solution: Fix configure script. (Christian Brabandt, closes #8852) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3421 +Problem: A bit of code is not covered by tests. +Solution: Add a few more test cases. (Dominique Pellé, closes #8857) +Files: src/testdir/test_functions.vim, src/testdir/test_history.vim, + src/testdir/test_startup.vim + +Patch 8.2.3422 +Problem: Vim9: no failure if return type differs from returned variable. +Solution: Copy type when copying a list. (closes #8847) +Files: src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3423 +Problem: Vim9: list += list creates a new list in :def function. +Solution: Append to the existing list. +Files: src/structs.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3424 +Problem: A sequence of spaces is hard to see in list mode. +Solution: Add the "multispace" option to 'listchars'. (closes #8834) +Files: runtime/doc/options.txt, src/drawline.c, src/message.c, + src/screen.c, src/structs.h, src/testdir/test_listchars.vim + +Patch 8.2.3425 +Problem: Warning for using uninitialized variable. +Solution: Initialize it. (John Marriott) +Files: src/screen.c + +Patch 8.2.3426 +Problem: Crash when deleting a listener in a listener callback. (Naohiro + Ono) +Solution: Mark the listener and delete it later. (closes #8863) +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.2.3427 +Problem: Double free when list is copied. +Solution: Allocate the type when making a copy. (closes #8862) + Clear the type for flattennew(). Avoid a memory leak when + flattennew() fails. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3428 +Problem: Using freed memory when replacing. (Dhiraj Mishra) +Solution: Get the line pointer after calling ins_copychar(). +Files: src/normal.c, src/testdir/test_edit.vim + +Patch 8.2.3429 +Problem: Leaking memory when assigning to list or dict. +Solution: Free the list or dict type before overwriting it. +Files: src/vim9type.c, src/evalvars.c + +Patch 8.2.3430 +Problem: No generic way to trigger an autocommand on mode change. +Solution: Add the ModeChanged autocommand event. (Magnus Gross, closes #8856) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/edit.c, + src/ex_docmd.c, src/ex_getln.c, src/globals.h, src/misc1.c, + src/normal.c, src/proto/autocmd.pro, src/proto/misc1.pro, + src/testdir/test_edit.vim, src/vim.h + +Patch 8.2.3431 +Problem: Completion for :disas sorts local functions first. +Solution: Sort local functions last, like with :delfunc. (Naohiro Ono, + closes #8860) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3432 +Problem: Octave/Matlab filetype detection does not work properly. +Solution: Update the patterns used for matching. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.3433 +Problem: :delcommand does not take a -buffer option. +Solution: Add the -buffer option. +Files: runtime/doc/map.txt, src/usercmd.c, src/errors.h, + src/testdir/test_usercommands.vim + +Patch 8.2.3434 (after 8.2.3430) +Problem: Function prototype for trigger_modechanged() is incomplete. +Solution: Add "void". +Files: src/proto/misc1.pro + +Patch 8.2.3435 +Problem: Vim9: dict is not passed to dict function. +Solution: Keep the dict used until a function call. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3436 +Problem: Check for optional bool type has confusing return type. +Solution: Explicitly return OK. +Files: src/typval.c + +Patch 8.2.3437 +Problem: Compiler warnings for 32/64 bit usage. +Solution: Add type casts. (Mike Williams, closes #8870) +Files: src/screen.c, src/xdiff/xemit.c, src/xdiff/xutils.c + +Patch 8.2.3438 +Problem: Cannot manipulate blobs. +Solution: Add blob2list() and list2blob(). (Yegappan Lakshmanan, + closes #8868) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/blob.c, + src/errors.h, src/evalfunc.c, src/proto/blob.pro, + src/proto/typval.pro, src/testdir/test_blob.vim, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3439 +Problem: Deleted lines go to wrong yank register. +Solution: Reset y_append when not calling get_yank_register(). (Christian + Brabandt, closes #8872) +Files: src/ops.c, src/proto/register.pro, src/register.c, + src/testdir/test_registers.vim + +Patch 8.2.3440 +Problem: Recover test fails if there is an old swap file. +Solution: Delete old swap files. +Files: src/testdir/test_recover.vim + +Patch 8.2.3441 +Problem: MS-Windows: vimtutor can't handle path with spaces. +Solution: Add double quotes. (Christian Brabandt, closes #8871) +Files: vimtutor.bat + +Patch 8.2.3442 +Problem: Vim9: || and && are not handled at compile time when possible. +Solution: When using constants generate fewer instructions. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3443 +Problem: Vim9: memory leak when and/or fails. +Solution: Also clear the growarray when the length is zero. +Files: src/vim9compile.c + +Patch 8.2.3444 +Problem: concealed text not revealed when leaving insert mode. (Michael + Soyka) +Solution: Check if concealing changed when leaving insert mode. + (closes #8880) +Files: src/edit.c, src/testdir/test_conceal.vim, + src/testdir/dumps/Test_conceal_two_windows_07in.dump + +Patch 8.2.3445 +Problem: On Solaris longVersion may be declared twice. (Vladimir Marek) +Solution: Always declare longVersion in version.c +Files: src/globals.h, src/version.c + +Patch 8.2.3446 +Problem: Not enough tests for empty string arguments. +Solution: Add tests, fix type check. (Yegappan Lakshmanan, closes #8881) +Files: runtime/doc/sign.txt, runtime/doc/textprop.txt, src/sign.c, + src/testdir/test_blob.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3447 +Problem: A couple of declarations are not ANSI C. +Solution: Put argument type inside (). (Yegappan Lakshmanan, closes #8890) +Files: src/os_unix.h + +Patch 8.2.3448 +Problem: :endtry after function call that throws not found. +Solution: Do check for following :endtry if an exception is being thrown. + (closes #8889) +Files: src/userfunc.c, src/testdir/test_trycatch.vim + +Patch 8.2.3449 +Problem: Sort fails if the sort compare function returns 999. +Solution: Adjust value to -1 / 0 / 1. (Yasuhiro Matsumoto, closes #8884) +Files: src/list.c, src/testdir/test_sort.vim + +Patch 8.2.3450 +Problem: Coveralls action fails. +Solution: Disable it for now. +Files: .github/workflows/ci.yml + +Patch 8.2.3451 +Problem: Not all apache files are recognized. +Solution: Adjust the filetype pattern. (Zdenek Dohnal, closes #8882) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3452 +Problem: MPD files are not recognized. +Solution: Recognize MPD files as XML. (Steven Penny, closes #8893) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3453 +Problem: Autocmd not executed when editing a directory ending in a path + separator inside try block. +Solution: Return NOTDONE instead of FAIL. (closes #8885) +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 8.2.3454 +Problem: Using a count with "gp" leaves cursor in wrong position. (Naohiro + Ono) +Solution: Count the inserted lines. (closes #8899) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3455 (after 8.2.3454) +Problem: Using a count with "gp" leaves '] in wrong position. (Naohiro Ono) +Solution: Correct the mark position. (closes #8899) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3456 +Problem: Vim9: Not all functions are tested with an empty string argument. +Solution: Add tests with empty strings. (Yegappan Lakshmanan, closes #8915) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3457 +Problem: MS-Windows Vim9: test executed and fails. +Solution: Add extra check for not being on MS-Windows. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3458 +Problem: Not all dictdconf files are recognized. +Solution: Adjust the pattern. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3459 +Problem: Vim9: need more tests for empty string arguments. +Solution: Add more tests. Also use empty argument with menu_info() to get + the top-level menu names. (Yegappan Lakshmanan, closes #8925) +Files: runtime/doc/eval.txt, src/menu.c, src/testdir/test_menu.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3460 +Problem: Some type casts are not needed. +Solution: Remove unnecessary type casts. (closes #8934) +Files: src/autocmd.c, src/buffer.c, src/debugger.c, src/getchar.c, + src/hardcopy.c, src/if_cscope.c, src/move.c, src/tag.c, + src/version.c + +Patch 8.2.3461 +Problem: Cannot distinguish Normal and Terminal-Normal mode. +Solution: Make mode() return "nt" for Terminal-Normal mode. (issue #8856) +Files: runtime/doc/eval.txt, src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.3462 +Problem: The ModeChanged event only uses one character for the new_mode and + old_mode values. +Solution: Pass one as first argument to mode(). (issue #8856) +Files: src/misc1.c, src/testdir/test_edit.vim + +Patch 8.2.3463 +Problem: Pattern matching with ModeChanged not tested. +Solution: Add a few more test lines. (issue #8856) +Files: src/testdir/test_edit.vim + +Patch 8.2.3464 +Problem: nginx files are not recognized. +Solution: Add several file patterns. (Chris Aumann, closes #8922) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3465 +Problem: Cannot detect insert scroll mode. +Solution: Add "scroll" to complete_info(). (closes #8943) +Files: runtime/doc/eval.txt, src/insexpand.c, src/testdir/test_popup.vim + +Patch 8.2.3466 +Problem: Completion submode not indicated for virtual replace. +Solution: Add submode to "Rv". (closes #8945) +Files: runtime/doc/eval.txt, src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.3467 +Problem: CursorHoldI event interferes with "CTRL-G U". (Naohiro Ono) +Solution: Restore the flag for "CTRL-G U" after triggering CursorHoldI. + (closes #8937) +Files: src/edit.c, src/testdir/test_autocmd.vim + +Patch 8.2.3468 +Problem: Problem with :cd when editing file in non-existent directory. (Yee + Cheng Chin) +Solution: Prepend the current directory to get the full path. (closes #8903) +Files: src/os_unix.c, src/testdir/test_cd.vim + +Patch 8.2.3469 +Problem: Some files with json syntax are not recognized. +Solution: Add a few file patterns. (Emiliano Ruiz Carletti, closes #8947) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3470 +Problem: Crash with error in :catch and also in :finally. +Solution: Only discard an exception if there is one. (closes #8954) +Files: src/ex_eval.c, src/testdir/test_trycatch.vim + +Patch 8.2.3471 +Problem: Crash when using CTRL-T after an empty search pattern. +Solution: Bail out when there is no previous search pattern. (closes #8953) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.2.3472 +Problem: Other crashes with empty search pattern not tested. +Solution: Add a few more test lines. (Dominique Pellé) +Files: src/testdir/test_search.vim + +Patch 8.2.3473 +Problem: Some files with tcl syntax are not recognized. +Solution: Add a few file patterns. (Doug Kearns +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3474 +Problem: Some places use "Vimscript" instead of "Vim script". +Solution: Consistently use "Vim script". (Hirohito Higashi, closes #8910) +Files: runtime/doc/if_lua.txt, src/getchar.c, src/if_lua.c + +Patch 8.2.3475 +Problem: Expression register set by not executed put command. +Solution: Do not set the register if the command is skipped. (closes #8909) +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.3476 +Problem: Renaming a buffer on startup may cause using freed memory. +Solution: Check if the buffer is used in a window. (closes #8955) +Files: src/buffer.c, src/testdir/test_startup.vim + +Patch 8.2.3477 (after 8.2.3476) +Problem: Startup test fails on MS-Windows. +Solution: Skip the test if not on Unix. +Files: src/testdir/test_startup.vim + +Patch 8.2.3478 (after 8.2.3470) +Problem: Still crash with error in :catch and also in :finally. +Solution: Only call finish_exception() once. (closes #8954) +Files: src/ex_eval.c, src/structs.h + +Patch 8.2.3479 +Problem: Crash when calling job_start with an invalid argument. (Virginia + Senioria) +Solution: Clear the first item in argv. (closes #8957) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.2.3480 (after 8.2.3478) +Problem: Test does not fail without the fix for a crash. +Solution: Write the bad code in a file and source it. (Dominique Pellé, + closes #8961) +Files: src/testdir/test_trycatch.vim + +Patch 8.2.3481 +Problem: Failures when char is unsigned. +Solution: Use int8_T. Make a CI run with unsigned char. (James McCoy, + closes #8936) +Files: src/structs.h, .github/workflows/ci.yml + +Patch 8.2.3482 +Problem: Reading beyond end of line ending in quote and backslash. +Solution: Check for non-NUL after backslash. (closes #8964) +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.3483 +Problem: #ifdef for using sysinfo() is incomplete. +Solution: Also check for HAVE_SYSINFO. Make autoconf check use TRY_LINK. + (closes #8952) +Files: src/memline.c, src/configure.ac, src/auto/configure + +Patch 8.2.3484 +Problem: Crash when going through spell suggestions. +Solution: Limit the text length for finding suggestions to the original + length. Do not update buffers when exiting. (closes #8965) +Files: src/spellsuggest.c, src/clipboard.c, + src/testdir/test_spell_utf8.vim + +Patch 8.2.3485 +Problem: Python 3 test fails with Python 3.10. +Solution: Adjust expected error message. (zdohnal Dohnal, closes #8969) +Files: src/testdir/test_python3.vim + +Patch 8.2.3486 +Problem: Illegal memory access with invalid sequence of commands. +Solution: Do not call leave_block() when not in a try block. (closes #8966) + Reset did_emsg so that exception is shown as an error. +Files: src/ex_eval.c, src/testdir/test_trycatch.vim + +Patch 8.2.3487 +Problem: Illegal memory access if buffer name is very long. +Solution: Make sure not to go over the end of the buffer. +Files: src/drawscreen.c, src/testdir/test_statusline.vim + +Patch 8.2.3488 +Problem: Issue template is not easy to use. +Solution: Use a yaml template. (closes #8928) +Files: .github/ISSUE_TEMPLATE/bug_report.md, + .github/ISSUE_TEMPLATE/bug_report.yml + +Patch 8.2.3489 +Problem: ml_get error after search with range. +Solution: Limit the line number to the buffer line count. +Files: src/ex_docmd.c, src/testdir/test_search.vim + +Patch 8.2.3490 +Problem: Superfluous return statements. +Solution: Remove superfluous return statements from void functions. + (closes #8977) +Files: src/buffer.c, src/getchar.c, src/memline.c, src/move.c, + src/option.c + +Patch 8.2.3491 +Problem: xpm2 filetype dection is not so good. +Solution: Adjust the check for xpm2. (closes #8914) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3492 +Problem: Crash when pasting too many times. +Solution: Limit the size to what fits in an int. (closes #8962) +Files: src/register.c, src/errors.h, src/testdir/test_put.vim + +Patch 8.2.3493 (after 8.2.3492) +Problem: Large count test fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_put.vim + +Patch 8.2.3494 +Problem: Illegal memory access in utf_head_off. +Solution: Check cursor position when reselecting the Visual area. + (closes #8963) +Files: src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.3495 +Problem: GUI geometry startup test fails on some systems. (Drew Vogel) +Solution: Add tolerance to the size check. (closes #8815) +Files: src/testdir/test_startup.vim + +Patch 8.2.3496 +Problem: Crypt test fails on MS-Windows if xxd was not installed yet. +Solution: Use the just built xxd executable if it exists. (James McCoy, + closes #8929) +Files: src/testdir/test_crypt.vim + +Patch 8.2.3497 +Problem: Put test fails when run by itself. +Solution: Source check.vim. (Dominique Pellé, closes #8990) +Files: src/testdir/test_put.vim + +Patch 8.2.3498 +Problem: Recover test may fail on some systems. +Solution: Adjust the little endian and 64 bit detection. (James McCoy, + closes #8941) +Files: src/testdir/test_recover.vim + +Patch 8.2.3499 +Problem: GUI geometry startup test fails. +Solution: Check string values instead of numbers +Files: src/testdir/test_startup.vim + +Patch 8.2.3500 +Problem: Github CI fails to install clang. +Solution: Install llvm-11 explicitly. (Christian Brabandt, closes #8993) +Files: .github/workflows/ci.yml + +Patch 8.2.3501 +Problem: tmux filetype dection is incomplete +Solution: Also use tmux for files having text after .conf. (Eric Pruitt, + closes #8971) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3502 (after 8.2.2919) +Problem: Cannot enter password in shell command. +Solution: Revert patch 8.2.2919. +Files: src/os_unix.c + +Patch 8.2.3503 +Problem: Vim9: using g:pat:cmd is confusing. +Solution: Do not recognize g: as the :global command. Also for s:pat:repl. + (closes #8982) +Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/ex_cmds.c, src/errors.h, + src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3504 (after 8.2.3503) +Problem: Vim9: warning for signed vs unsigned. +Solution: Add type cast. +Files: src/vim9compile.c + +Patch 8.2.3505 (after 8.2.3503) +Problem: Vim9: build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/ex_cmds.c + +Patch 8.2.3506 (after 8.2.3503) +Problem: Vim9: special cases for "g" and "s" insufficiently tested. +Solution: Add a few more test cases. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.3507 +Problem: Generating proto files may fail. +Solution: Define __attribute(). +Files: src/Makefile + +Patch 8.2.3508 (after 8.2.3503) +Problem: Vim9: bad separators for "g" and "s" insufficiently tested. +Solution: Add a few more test cases. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.3509 +Problem: Undo file is not synced. (Sami Farin) +Solution: Sync the undo file if 'fsync' is set. (Christian Brabandt, + closes #8879, closes #8920) +Files: runtime/doc/options.txt, src/undo.c + +Patch 8.2.3510 +Problem: Changes are only detected with one second accuracy. +Solution: Use the nanosecond time if possible. (Leah Neukirchen, + closes #8873, closes #8875) +Files: runtime/doc/eval.txt, src/auto/configure, src/bufwrite.c, + src/config.h.in, src/configure.ac, src/fileio.c, + src/proto/fileio.pro, src/memline.c, src/netbeans.c, + src/structs.h, src/evalfunc.c, src/testdir/test_stat.vim + +Patch 8.2.3511 +Problem: Vim9: entry for loop variable is created every round. +Solution: Only create the entry once. (closes #8996) +Files: src/evalvars.c, src/vim9script.c + +Patch 8.2.3512 +Problem: Timestamp test fails on some systems. +Solution: Sleep for a short while. +Files: src/testdir/test_stat.vim + +Patch 8.2.3513 +Problem: Using freed memory when using a timer and searching. (Dominique + Pellé) +Solution: Allocated mr_pattern. +Files: src/search.c + +Patch 8.2.3514 +Problem: Autoread test with nano second time sometimes fails. +Solution: Mark the test as being flaky. +Files: src/testdir/test_stat.vim + +Patch 8.2.3515 +Problem: Nano time test fails on Mac and FreeBSD. +Solution: Also check nano time when not on Linux. (Ozaki Kiichi, + closes #9000) +Files: src/fileio.c + +Patch 8.2.3516 +Problem: Terminal window does not have transparent background when + 'termguicolors' is used. +Solution: Fix the background color. (closes #2361, closes #9002) +Files: runtime/doc/terminal.txt, src/highlight.c, src/proto/terminal.pro, + src/terminal.c + +Patch 8.2.3517 +Problem: TextChanged does not trigger after TextChangedI. +Solution: Store the tick separately for TextChangedI. (Christian Brabandt, + closes #8968, closes #8932) +Files: src/buffer.c, src/bufwrite.c, src/edit.c, src/structs.h, + src/testdir/test_autocmd.vim + +Patch 8.2.3518 +Problem: Test_xrestore sometimes fails. +Solution: Mark the test as flayky. Move marking test as flaky to the test + instead of listing them in runtest. +Files: src/testdir/test_paste.vim, src/testdir/runtest.vim, + src/testdir/test_autocmd.vim, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_diffmode.vim, + src/testdir/test_functions.vim, src/testdir/test_gui.vim, + src/testdir/test_mapping.vim, src/testdir/test_popup.vim, + src/testdir/test_quotestar.vim, src/testdir/test_reltime.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, + src/testdir/test_timers.vim + +Patch 8.2.3519 +Problem: TOML files are not recognized. +Solution: Add filetype patterns for TOML. (Aman Verma, closes #8984) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3520 +Problem: Cannot define a function for thesaurus completion. +Solution: Add 'thesaurusfunc'. (Yegappan Lakshmanan, closes #8987, + closes 8950) +Files: runtime/doc/insert.txt, runtime/doc/options.txt, + runtime/doc/quickref.txt, src/buffer.c, src/insexpand.c, + src/option.c, src/option.h, src/optiondefs.h, src/optionstr.c, + src/structs.h, src/testdir/test_edit.vim + +Patch 8.2.3521 (after 8.2.3520) +Problem: Options completion test fails. +Solution: Add 'thesaurusfunc' to the results. +Files: src/testdir/test_options.vim + +Patch 8.2.3522 +Problem: Cannot use \x and \u when setting 'listchars'. +Solution: Support hex and unicode in hex form. (closes #9006) +Files: runtime/doc/options.txt, src/screen.c, src/charset.c, + src/testdir/test_listchars.vim + +Patch 8.2.3523 +Problem: Duplicated code in xxd. +Solution: Remove duplicated lines. (closes #8972) +Files: src/xxd/xxd.c + +Patch 8.2.3524 +Problem: GUI: ligatures are not used. +Solution: Add the 'guiligatures' option. (Dusan Popovic, closes #8933) +Files: runtime/doc/options.txt, src/gui.c, src/gui.h, src/gui_gtk_x11.c, + src/option.h, src/optiondefs.h, src/optionstr.c, src/errors.h, + src/proto/gui.pro, src/proto/gui_gtk_x11.pro, + src/testdir/test_gui.vim + +Patch 8.2.3525 +Problem: Option variable name does not match option name. (Christ van + Willigen) +Solution: Rename the variable. +Files: src/buffer.c, src/insexpand.c, src/option.c, src/optionstr.c, + src/structs.h + +Patch 8.2.3526 +Problem: Tests have clumsy check for X11 based GUI. +Solution: Add CheckX11BasedGui. +Files: src/testdir/check.vim, src/testdir/test_gui.vim, + src/testdir/test_gui_init.vim, src/testdir/setup_gui.vim + +Patch 8.2.3527 +Problem: Gcc complains about uninitialized variable. (Tony Mechelynck) +Solution: Initialize it. +Files: src/gui_gtk_x11.c + +Patch 8.2.3528 +Problem: 'thesaurus' and 'thesaurusfunc' do not have the same scope. +Solution: Make 'thesaurusfunc' global-local. +Files: runtime/doc/options.txt, runtime/doc/insert.txt, + src/optiondefs.h, src/option.h, src/option.c, src/structs.h, + src/insexpand.c, src/testdir/test_edit.vim + +Patch 8.2.3529 +Problem: Xxd usage output is incomplete. +Solution: Add "bytes" to "-g" flag. (Atsushi Sugawara, closes #8944) +Files: src/xxd/xxd.c + +Patch 8.2.3530 +Problem: ":buf \{a}" fails while ":edit \{a}" works. +Solution: Unescape "\{". (closes #8917) +Files: src/vim.h, src/cmdexpand.c, src/evalfunc.c, src/ex_getln.c, + src/proto/ex_getln.pro, src/normal.c, src/session.c, + src/terminal.c, src/vim9execute.c, src/testdir/test_cmdline.vim + +Patch 8.2.3531 (after 8.2.3530) +Problem: Command line completion test fails on MS-Windows. +Solution: Do not test with "\{" on MS-Windows. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.3532 +Problem: The previous '' mark is restored after moving the cursor to the + original jump position. (Tony Chen) +Solution: Forget the previous position after checking. (closes #8985) +Files: src/mark.c, src/testdir/test_marks.vim + +Patch 8.2.3533 +Problem: Inefficient code in xxd. +Solution: Don't use "p" when "hextype" is non-zero. (closes #9013) +Files: src/xxd/xxd.c + +Patch 8.2.3534 +Problem: Autoread test is a bit flaky. +Solution: Wait a brief moment before overwriting the file. +Files: src/testdir/test_stat.vim + +Patch 8.2.3535 +Problem: If-else indenting is confusing. +Solution: Add curly brackets and indent. (Dominique Pellé, closes #9010) +Files: src/drawscreen.c + +Patch 8.2.3536 +Problem: The do_highlight() function is way too long. +Solution: Split it into several functions. (Yegappan Lakshmanan, + closes #9011) +Files: src/highlight.c + +Patch 8.2.3537 +Problem: mode() does not return the right value in 'operatorfunc'. +Solution: Reset finish_op while calling 'operatorfunc'. +Files: src/ops.c, src/testdir/test_functions.vim + +Patch 8.2.3538 +Problem: Else-if indenting is confusing. +Solution: Add curly brackets. (Yegappan Lakshmanan, closes #9017) +Files: src/highlight.c + +Patch 8.2.3539 +Problem: GTK3: with 'rightleft' set scrollbar may move unintentionally. +Solution: Ignore events while moving the scrollbar thumb. (closes #8958) +Files: src/gui_gtk.c + +Patch 8.2.3540 +Problem: The mark '] is wrong after put with a count. (Naohiro Ono) +Solution: Use the right line number. (closes #8956) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3541 +Problem: Compiler warning for unused variable in tiny version. +Solution: Add #ifdef. (John Marriott) +Files: src/highlight.c + +Patch 8.2.3542 +Problem: Too many comments are old style. +Solution: Change comments to // style. (closes #9021) +Files: src/buffer.c + +Patch 8.2.3543 +Problem: Swapname has double slash when 'directory' ends in double slash. + (Shane Smith) +Solution: Remove the superfluous slash. (closes #8876) +Files: src/memline.c, src/testdir/test_swap.vim + +Patch 8.2.3544 +Problem: Unix: may leak file descriptor when using a non-existing + directory. +Solution: Always close the file. (closes #9023) +Files: src/os_unix.c + +Patch 8.2.3545 +Problem: setcellwidths() may make 'listchars' or 'fillchars' invalid. +Solution: Check the value and give an error. (closes #9024) +Files: runtime/doc/eval.txt, src/optionstr.c, src/errors.h, src/mbyte.c, + src/testdir/test_utf8.vim + +Patch 8.2.3546 (after 8.2.3545) +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. (closes #9025) +Files: src/errors.h + +Patch 8.2.3547 +Problem: Opening the quickfix window triggers BufWinEnter twice. (Yorick + Peterse) +Solution: Only trigger BufWinEnter with "quickfix". (closes #9022) +Files: src/ex_cmds.c, src/vim.h, src/quickfix.c, src/buffer.c, + src/testdir/test_quickfix.vim + +Patch 8.2.3548 +Problem: GTK GUI crashen when reading from stdin. +Solution: Do not overwrite the NUL after the string. (closes #9028) +Files: src/gui_gtk_x11.c, src/testdir/test_gui.vim + +Patch 8.2.3549 +Problem: Mistakes in test comments. +Solution: Fix the comments. (closes #9029) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.3550 +Problem: completion() does not work properly. +Solution: Set xp_line and add WILD_HOME_REPLACE. (Shougo Matsushita, + closes #9016) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3551 +Problem: Checking first character of url twice. +Solution: Only check once. (closes #9026) +Files: src/misc1.c + +Patch 8.2.3552 +Problem: Xxd revert does not handle end of line correctly. +Solution: Check for newline first. (closes #9034) +Files: src/xxd/xxd.c, src/testdir/test_xxd.vim + +Patch 8.2.3553 (after 8.2.3552) +Problem: Xxd test fails on MS-Windows. +Solution: Split shell command in two. +Files: src/testdir/test_xxd.vim + +Patch 8.2.3554 +Problem: Xxd has various way to exit. +Solution: Add function to print error and exit. (closes #9035) +Files: src/xxd/xxd.c + +Patch 8.2.3555 +Problem: ModeChanged is not triggered on every mode change. +Solution: Also trigger on minor mode changes. (Maguns Gross, closes #8999) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/insexpand.c, + src/misc1.c, src/normal.c, src/terminal.c, + src/testdir/test_edit.vim + +Patch 8.2.3556 +Problem: Filler lines are incorrect for other window in diff mode after + making a change. +Solution: Copy filler lines from the current window. (closes #8809) +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_scroll_change_03.dump + +Patch 8.2.3557 +Problem: Vim9: cannot call imported funcref at script level. +Solution: Check for an imported function. (closes #9007) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3558 (after 8.2.3557) +Problem: Vim9: asserting the wrong variable. +Solution: Don't use Foo, use Goo. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3559 +Problem: Loop variable recreated every time. +Solution: Keep the loop variable when looping. +Files: src/ex_eval.c + +Patch 8.2.3560 +Problem: Using freed memory with lambda. +Solution: Do not free lines early, keep them until the expression is + finished. (closes #9020) +Files: src/eval.c, src/proto/eval.pro, src/userfunc.c, src/vim9compile.c, + src/structs.h, src/globals.h, src/testdir/test_vim9_func.vim + +Patch 8.2.3561 +Problem: Cscope has a complicated way of giving an error message. +Solution: Use semsg(). (James McCoy, closes #9038) +Files: src/if_cscope.c + +Patch 8.2.3562 +Problem: Cannot add color names. +Solution: Add the v:colornames dictionary. (Drew Vogel, closes #8761) +Files: Filelist, READMEdir/README_extra.txt, nsis/gvim.nsi, + runtime/colors/README.txt, runtime/colors/lists/csscolors.vim, + runtime/colors/lists/default.vim, runtime/doc/eval.txt, + runtime/doc/gui_w32.txt, runtime/doc/message.txt, + runtime/doc/os_haiku.txt, runtime/doc/syntax.txt, + runtime/doc/usr_06.txt, src/Makefile, src/evalvars.c, + src/gui_haiku.cc, src/highlight.c, src/gui.c, src/job.c, + src/proto/highlight.pro, src/proto/term.pro, src/term.c, + src/vim.h, src/globals.h, src/errors.h, + src/testdir/test_highlight.vim + +Patch 8.2.3563 (after 8.2.3562) +Problem: Build failure with +eval but without GUI or +termguicolors +Solution: Adjust #ifdef. (John Marriott) +Files: src/highlight.c + +Patch 8.2.3564 +Problem: Invalid memory access when scrolling without a valid screen. +Solution: Do not set VALID_BOTLINE in w_valid. +Files: src/move.c, src/testdir/test_normal.vim + +Patch 8.2.3565 +Problem: Makefile dependencies are outdated. (Gary Johnson) +Solution: Run "make depend" and add missing dependencies. +Files: src/Makefile + +Patch 8.2.3566 +Problem: Build failure on old systems when using nano timestamp. +Solution: Define _BSD_SOURCE, _SVID_SOURCE and _DEFAULT_SOURCE. (Gary + Johnson, closes #9054) +Files: src/vim.h + +Patch 8.2.3567 +Problem: CTRL-I in Insert mode is not tested +Solution: Add a test case. (Dominique Pellé, closes #8866) +Files: src/testdir/test_edit.vim + +Patch 8.2.3568 +Problem: Ctrl-hat test fails with Athena and Motif. (Elimar Riesebieter) +Solution: Run the test only with GTK. (Dominique Pellé, closes #9069) +Files: src/testdir/test_edit.vim + +Patch 8.2.3569 +Problem: Error for :let when vimrc is Vim 9 script. +Solution: Prepend :legacy in the code for converting arguments. (Christian + Brabandt, closes #9068, closes #9077) +Files: src/os_win32.c + +Patch 8.2.3570 +Problem: Test_very_large_count fails on 32bit systems. +Solution: Bail out when using 32 bit numbers. (closes #9072) +Files: src/testdir/test_put.vim + +Patch 8.2.3571 +Problem: Some unicode control characters are considered printable. +Solution: Make 0x2060 - 0x2069 not printable. +Files: src/mbyte.c + +Patch 8.2.3572 +Problem: Memory leak when closing window and using "multispace" in + 'listchars'. +Solution: Free the memory. (closes #9071) +Files: src/window.c, src/testdir/test_listchars.vim + +Patch 8.2.3573 +Problem: Cannot decide whether to skip test that fails with 64 bit ints. + (closes #9072) +Solution: Add v:sizeofint, v:sizeoflong and v:sizeofpointer. Improve the + check for multiply overflow. +Files: runtime/doc/eval.txt, src/vim.h, src/evalvars.c, src/register.c, + src/testdir/test_put.vim + +Patch 8.2.3574 (after 8.2.3573) +Problem: Divide by zero. +Solution: Don't check for overflow if multiplicand is zero. +Files: src/register.c + +Patch 8.2.3575 (after 8.2.3574) +Problem: Overflow check still fails when sizeof(int) == sizeof(long). +Solution: Use a float to check the result. +Files: src/register.c + +Patch 8.2.3576 +Problem: Some functions are not documented for use with a method. +Solution: Add examples. Fix that sign_unplacelist() only takes one + argument. (Sean Dewar, closes #9081) +Files: src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.2.3577 (after 8.2.3574) +Problem: Overflow check fails with 32 bit ints. +Solution: Only test with 64 bit ints. +Files: src/testdir/test_put.vim + +Patch 8.2.3578 +Problem: Manipulating highlighting is complicated. +Solution: Add the hlget() and hlset() functions. (Yegappan Lakshmanan, + closes #9039) +Files: runtime/doc/eval.txt, runtime/doc/syntax.txt, + runtime/doc/usr_41.txt, runtime/doc/windows.txt, src/evalfunc.c, + src/highlight.c, src/proto/highlight.pro, + src/testdir/test_highlight.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3579 +Problem: CI sometimes fails for MinGW. +Solution: Use backslashes in HandleSwapExists(). (Christian Brabandt, + closes #9078) +Files: src/testdir/runtest.vim + +Patch 8.2.3580 +Problem: gj does not move properly with a wide character. +Solution: Move one to the right. (Christian Brabandt, closes #8702) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.3581 +Problem: Reading character past end of line. +Solution: Correct the cursor column. +Files: src/ex_docmd.c, src/testdir/test_put.vim + +Patch 8.2.3582 +Problem: Reading uninitialized memory when giving spell suggestions. +Solution: Check that preword is not empty. +Files: src/spellsuggest.c, src/testdir/test_spell.vim + +Patch 8.2.3583 +Problem: The "gd" and "gD" commands do not update search stats. (Gary + Johnson) +Solution: Clear search stats. +Files: src/normal.c, src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstatgd_1.dump, + src/testdir/dumps/Test_searchstatgd_2.dump + +Patch 8.2.3584 +Problem: "verbose set efm" reports the location of the :compiler command. + (Gary Johnson) +Solution: Add the "-keepscript" argument to :command and use it when + defining CompilerSet. +Files: runtime/doc/map.txt, src/ex_cmds2.c, src/usercmd.c, src/ex_cmds.h, + src/testdir/test_compiler.vim + +Patch 8.2.3585 +Problem: Crash when passing float to "term_rows" in the options argument of + term_start(). (Virginia Senioria) +Solution: Bail out if the argument is not a number. (closes #9116) +Files: src/job.c, src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.3586 (after 8.2.3584) +Problem: Command completion test fails. +Solution: Add new argument to expected output +Files: src/testdir/test_usercommands.vim + +Patch 8.2.3587 (after 8.2.3584) +Problem: Compiler test fails with backslash file separator. +Solution: Accept slash and backslash. +Files: src/testdir/test_compiler.vim + +Patch 8.2.3588 +Problem: Break statement is never reached. +Solution: Rely on return value of set_chars_option() not changing. + (closes #9103) +Files: src/optionstr.c + +Patch 8.2.3589 +Problem: Failure when the "term_rows" argument of term_start() is an + unusual value. +Solution: Limit to range of zero to 1000. (closes #9116) +Files: runtime/doc/terminal.txt, src/job.c, src/testdir/test_terminal.vim + +Patch 8.2.3590 +Problem: Test for v:colornames sometimes fails. (Dominique Pellé) +Solution: Check features. Clear v:colornames between tests. (Drew Vogel, + closes #9105, closes #9073) +Files: runtime/doc/eval.txt, src/highlight.c, src/proto/highlight.pro, + src/testdir/test_highlight.vim + +Patch 8.2.3591 +Problem: No event is triggered when closing a window. +Solution: Add the WinClosed event. (Naohiro Ono, closes #9110) +Files: runtime/doc/autocmd.txt, src/autocmd.c, + src/testdir/test_autocmd.vim, src/vim.h, src/window.c + +Patch 8.2.3592 +Problem: Test_hlset fails when terminal has many columns. +Solution: Set the number of columns to 80. (Dominique Pellé, closes #9101, + closes #9100) +Files: src/testdir/test_highlight.vim + +Patch 8.2.3593 +Problem: Directory is wrong after executing "lcd" with win_execute(). +Solution: Correct the directory when going back to the original window. + (closes #9132) +Files: src/evalwindow.c, src/window.c, src/proto/window.pro, + src/testdir/test_execute_func.vim + +Patch 8.2.3594 +Problem: Xxd code is a bit difficult to understand. +Solution: Move some lines to a separate function. (closes #9037) +Files: src/xxd/xxd.c + +Patch 8.2.3595 +Problem: Check for signed overflow might not work everywhere. +Solution: Limit to 32 bit int. (closes #9043, closes #9067) +Files: src/getchar.c + +Patch 8.2.3596 +Problem: Crash when using :pedit in Vim9 script. +Solution: Move check for arguments to after checking there are arguments. + (Yegappan Lakshmanan, closes #9134, closes #9135) +Files: src/popupwin.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3597 +Problem: Vim seems to hang when writing a very long text to a terminal + window. +Solution: Limit the amount of text based on 'termwinscroll'. (issue #9080) +Files: runtime/doc/options.txt, src/terminal.c + +Patch 8.2.3598 +Problem: RouterOS filetype is not recognized. +Solution: Add file and script patterns. (closes #9097) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3599 +Problem: Not all gdbinit files are recognized. +Solution: Add "gdbinit". (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3600 (after 8.2.3598) +Problem: Filetype test fails. +Solution: Add missint change. +Files: runtime/scripts.vim + +Patch 8.2.3601 +Problem: Check for overflow in put count does not work well. +Solution: Improve the overflow check. (Ozaki Kiichi, closes #9102) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3602 +Problem: Python3 test fails with Python 3.10 on MS-Windows. +Solution: Adjust the expected error. (Ken Takata, closes #9118) +Files: src/testdir/test_python3.vim + +Patch 8.2.3603 +Problem: Fish filetype not recognized. +Solution: Add a file pattern and match script line. (Doug Kearns) +Files: runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3604 +Problem: Not all sudoers files are recognized. +Solution: Add a file pattern. (Doug Kearns, closes #1192) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3605 +Problem: Cannot clear and unlink a highlight group with hlset() in a + single call. +Solution: Add the "force" option. (Yegappan Lakshmanan, closes #9117) +Files: runtime/doc/eval.txt, src/highlight.c, + src/testdir/test_highlight.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3606 +Problem: File missing from list of distributed files. +Solution: Add the file. +Files: Filelist + +Patch 8.2.3607 +Problem: GTK3 screen updating is slow. +Solution: Remove some of the GTK3-specific code. (closes #9052) +Files: src/gui.h, src/gui_gtk_x11.c + +Patch 8.2.3608 +Problem: Users who type "q:" instead of ":q" are confused. +Solution: Add an autocmd to give a message that explains this is the + command-line window. (Egor Zvorykin, closes #9146) +Files: runtime/defaults.vim, src/testdir/test_autocmd.vim, + src/testdir/test_cmdline.vim + +Patch 8.2.3609 +Problem: Internal error when ModeChanged is triggered when v:event is + already in use. +Solution: Save and restore v:event if needed. +Files: src/misc1.c, src/proto/misc1.pro, src/testdir/test_edit.vim, + src/insexpand.c, src/structs.h, src/register.c + +Patch 8.2.3610 +Problem: Crash when ModeChanged triggered too early. +Solution: Trigger ModeChanged after setting VIsual. +Files: src/normal.c, src/testdir/test_edit.vim + +Patch 8.2.3611 +Problem: Crash when using CTRL-W f without finding a file name. +Solution: Bail out when the file name length is zero. +Files: src/findfile.c, src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.3612 +Problem: Using freed memory with regexp using a mark. +Solution: Get the line again after getting the mark position. +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3613 +Problem: :find test fails. +Solution: Put length check inside if block. +Files: src/findfile.c + +Patch 8.2.3614 +Problem: zindex of popup windows not used when redrawing popup menu. +Solution: Check the zindex when redrawing the popup menu. (closes #9129, + closes #9089) +Files: src/popupmenu.c, src/popupwin.c, src/proto/popupmenu.pro, + src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump, + src/testdir/dumps/Test_popupwin_popupmenu_masking_2.dump + +Patch 8.2.3615 +Problem: When re-formatting with an indent expression the first line of a + paragraph may get the wrong indent. (Martin F. Krafft) +Solution: Apply the correct indenting function for the first line. + (Christian Brabandt, closes #9150, closes #9056) +Files: src/textformat.c, src/testdir/test_indent.vim + +Patch 8.2.3616 +Problem: Arglist test does not clear the argument list consistently. +Solution: Call Reset_arglist(). (Shougo Matsushita, closes #9154) +Files: src/testdir/test_arglist.vim + +Patch 8.2.3617 +Problem: ":verbose pwd" does not mention 'autochdir' was applied. +Solution: Remember the last chdir was done by 'autochdir'. (issue #9142) +Files: src/globals.h, src/buffer.c, src/ex_docmd.c, src/window.c, + src/main.c, src/netbeans.c, src/os_win32.c, + src/testdir/test_autochdir.vim + +Patch 8.2.3618 +Problem: getcwd() is unclear about how 'autochdir' is used. +Solution: Update the help for getcwd(). Without any arguments always return + the actual current directory. (closes #9142) +Files: runtime/doc/eval.txt, src/filepath.c, src/testdir/test_cd.vim + +Patch 8.2.3619 +Problem: Cannot use a lambda for 'operatorfunc'. +Solution: Support using a lambda or partial. (Yegappan Lakshmanan, + closes #8775) +Files: runtime/doc/map.txt, runtime/doc/options.txt, src/ops.c, + src/option.c, src/optionstr.c, src/proto/ops.pro, + src/proto/option.pro, src/quickfix.c, src/testdir/test_normal.vim + +Patch 8.2.3620 +Problem: Memory leak reported in libtlib. +Solution: Call del_curterm() when cleaning up memory. Rename term.h to + termdefs.h to avoid a name clash. +Files: src/term.c, src/proto/term.pro, src/alloc.c, src/configure.ac, + src/auto/configure, src/config.h.in, src/Makefile, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/term.h, src/termdefs.h + +Patch 8.2.3621 (after 8.2.3620) +Problem: Build failure. +Solution: Add missing change. +Files: src/vim.h + +Patch 8.2.3622 +Problem: "verbose pwd" shows confusing info when :lcd does not change + directory. +Solution: Clear last_chdir_reason also when the directory does not change. + (closes #9160) +Files: src/ex_docmd.c, src/testdir/test_autochdir.vim + +Patch 8.2.3623 +Problem: "$*" is expanded to "nonomatch". +Solution: Only add "set nonomatch" when using a csh-like shell. (Christian + Brabandt, closes #9159, closes #9153) +Files: src/os_unix.c, src/testdir/test_expand.vim + +Patch 8.2.3624 +Problem: When renaming a terminal buffer the status text is not updated. +Solution: Clear the cached status text when renaming a terminal buffer. + (closes #9162) +Files: src/buffer.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim + +Patch 8.2.3625 +Problem: Illegal memory access when C-indenting. +Solution: Also set the cursor column. +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.3626 +Problem: "au!" and "au! event" cannot be followed by another command as + documented. +Solution: When a bar is found set nextcmd. +Files: src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.3627 +Problem: difficult to know where the text starts in a window. (Sergey + Vlasov) +Solution: Add the "textoff" entry in the result of getwininfo(). + (closes #9163) +Files: runtime/doc/eval.txt, src/evalwindow.c, + src/testdir/test_bufwintabinfo.vim + +Patch 8.2.3628 +Problem: Looking up terminal colors is a bit slow. +Solution: Cache the terminal colors. (closes #9130, closes #9058) +Files: src/highlight.c, src/libvterm/include/vterm.h, src/option.c, + src/optionstr.c, src/popupwin.c, src/proto/terminal.pro, + src/structs.h, src/terminal.c, src/window.c, + src/testdir/test_terminal3.vim, + src/testdir/dumps/Test_terminal_color_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump, + src/testdir/dumps/Test_terminal_color_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump, + src/testdir/dumps/Test_terminal_color_Terminal.dump, + src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_gui_Terminal.dump, + src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump, + src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump, + src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump + +Patch 8.2.3629 +Problem: Command completion in cmdline window uses global user commands, + not local commands for the window where it was opened from. +Solution: Use local commands. (closes #9168) +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/evalvars.c, + src/usercmd.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3630 +Problem: Printf() with %S does not handle multi-byte correctly. +Solution: Count cells instead of bytes. (closes #9169, closes #7486) +Files: src/strings.c, src/testdir/test_expr.vim + +Patch 8.2.3631 +Problem: "syntax enable" does not work properly in Vim9 context. +Solution: Also handle Vim9 context. (closes #9161) +Files: src/syntax.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3632 +Problem: GTK3: undercurl does not get removed properly. +Solution: Set the cairo cursor first. (closes #9170) +Files: src/gui_gtk_x11.c + +Patch 8.2.3633 +Problem: Vim9: line number of lambda is off by one. +Solution: Add one to the line number. (closes #9083) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3634 +Problem: Error for already defined function uses wrong line number. +Solution: Set SOURCING_LNUM before giving the error message. (closes #9085) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3635 +Problem: GTK: composing underline does not show. +Solution: Include composing character in pango call. A few more + optimizations for ligatures. (Dusan Popovic, closes #9171, + closes #9147) +Files: src/gui_gtk_x11.c + +Patch 8.2.3636 +Problem: Coverity warns for unreachable code. +Solution: Remove unreachable else block. +Files: src/gui_gtk_x11.c + +Patch 8.2.3637 +Problem: Typos in test files. +Solution: Correct the typos. (Dominique Pellé, closes #9175) +Files: src/testdir/runtest.vim, src/testdir/test_debugger.vim, + src/testdir/test_diffmode.vim, src/testdir/test_edit.vim, + src/testdir/test_excmd.vim, src/testdir/test_flatten.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_quickfix.vim, + src/testdir/test_recover.vim, src/testdir/test_spellfile.vim, + src/testdir/test_syntax.vim, src/testdir/test_termcodes.vim, + src/testdir/test_textobjects.vim, src/testdir/test_trycatch.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim + +Patch 8.2.3638 +Problem: getcompletion() always passes zero as position to custom + completion function. +Solution: Pass the pattern length. (closes #9173) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3639 (after 8.2.2922) +Problem: Line commented out accidentally. +Solution: Uncomment. (Volodymyr Kot, closes #9172) +Files: src/main.c + +Patch 8.2.3640 +Problem: Freeze when calling term_wait() in a close callback. +Solution: Set a "closing" flag to tell term_wait() to return. (closes #9152) +Files: src/channel.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim + +Patch 8.2.3641 +Problem: Xxd code has duplicate expressions. +Solution: Refactor to avoid duplication. (closes #9185) +Files: src/xxd/xxd.c + +Patch 8.2.3642 +Problem: List of distributed files is outdated. +Solution: Rename term.h to termdefs.h. +Files: Filelist + +Patch 8.2.3643 +Problem: Header for source file is outdated. +Solution: Make the header more accurate. (closes #9186) +Files: src/map.c, src/getchar.c + +Patch 8.2.3644 +Problem: Count for 'operatorfunc' in Visual mode is not redone. +Solution: Add the count to the redo buffer. (closes #9174) +Files: src/normal.c, src/proto/normal.pro, src/ops.c, + src/testdir/test_normal.vim + +Patch 8.2.3645 +Problem: Vim9: The "no effect" error is not given for all registers. +Solution: Include any character following '@'. (closes #8779) +Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3646 +Problem: Using <sfile> in a function gives an unexpected result. +Solution: Give an error in a Vim9 function. (issue #9189) +Files: src/scriptfile.c, src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3647 +Problem: GTK: when using ligatures the cursor is drawn wrong. +Solution: Clear more characters when ligatures are used. (Dusan Popovic, + closes #9190) +Files: src/gui.c + +Patch 8.2.3648 +Problem: "verbose pwd" is incorrect after dropping files on Vim. +Solution: Set the chdir reason to "drop". +Files: src/gui.c + +Patch 8.2.3649 +Problem: Vim9: error for variable declared in while loop. +Solution: Do not keep the first variable. (closes #9191) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3650 +Problem: Vim9: for loop variable can be a list member. +Solution: Check for valid variable name. (closes #9179) +Files: src/vim9compile.c, src/dict.c, src/eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.3651 +Problem: Vim9: no error for :lock or :unlock with unknown variable. +Solution: Give an error. (closes #9188) +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3652 +Problem: Can only get text properties one line at a time. +Solution: Add options to prop_list() to use a range of lines and filter by + types. (Yegappan Lakshmanan, closes #9138) +Files: runtime/doc/textprop.txt, src/textprop.c, + src/testdir/test_textprop.vim + +Patch 8.2.3653 +Problem: Terminal ANSI colors may be wrong. +Solution: Initialize the color type. (closes #9198, closes #9197) +Files: src/terminal.c + +Patch 8.2.3654 +Problem: GTK: a touch-drag does not update the selection. +Solution: Add GDK_BUTTON1_MASK to the state. (Chris Dalton, close #9196, + closes #9194) +Files: src/gui_gtk_x11.c + +Patch 8.2.3655 +Problem: Compiler warning for using size_t for int. +Solution: Add a type cast. (Mike Williams, closes #9199) +Files: src/vim9compile.c + +Patch 8.2.3656 +Problem: Vim9: no error for an evironment variable by itself. +Solution: Give a "without effect" error. (closes #9166) +Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3657 +Problem: Vim9: debug text misses one line of return statement. +Solution: Add a line when not at a debug instruction. (closes #9137) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3658 +Problem: Duplicate code in xxd. +Solution: Merge duplicated code. Add more tests. (closes #9192) +Files: src/xxd/xxd.c, src/testdir/test_xxd.vim + +Patch 8.2.3659 +Problem: Integer overflow with large line number. +Solution: Check for overflow. (closes #9202) +Files: src/errors.h, src/ex_docmd.c, src/testdir/test_excmd.vim + src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.3660 (after 8.2.3659) +Problem: Overflow check uses wrong number. +Solution: Divide by ten. +Files: src/normal.c + +Patch 8.2.3661 (after 8.2.3659) +Problem: Test for put with large count fails. +Solution: Adjust the counts in the test. +Files: src/testdir/test_put.vim + +Patch 8.2.3662 +Problem: Illegal memory access if malloc() fails. +Solution: Check 'foldmethod' is not empty. (closes #9207) +Files: src/fold.c + +Patch 8.2.3663 +Problem: Using %S in printf() does not work correctly. +Solution: Fix the problem and add more tests. (closes #9208) +Files: src/strings.c, src/testdir/test_expr.vim + +Patch 8.2.3664 +Problem: Cannot adjust sign highlighting for 'cursorline'. +Solution: Add CursorLineSign and CursorLineFold highlight groups. + (Gregory Anders, closes #9201) +Files: runtime/doc/sign.txt, runtime/doc/syntax.txt, src/drawline.c, + src/highlight.c, src/optiondefs.h, src/popupwin.c, + src/proto/sign.pro, src/sign.c, src/structs.h, src/vim.h, + src/testdir/test_signs.vim + +Patch 8.2.3665 +Problem: Cannot use a lambda for 'tagfunc'. +Solution: Use 'tagfunc' like 'opfunc'. (Yegappan Lakshmanan, closes #9204) +Files: runtime/doc/options.txt, src/buffer.c, src/option.c, + src/optionstr.c, src/proto/tag.pro, src/structs.h, src/tag.c, + src/testdir/test_tagfunc.vim + +Patch 8.2.3666 +Problem: Libvterm is outdated. +Solution: Include patches from revision 769 to revision 789. +Files: Filelist, src/libvterm/Makefile, src/libvterm/doc/seqs.txt, + src/libvterm/include/vterm.h, src/libvterm/src/mouse.c, + src/libvterm/src/parser.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/02parser.test, src/libvterm/t/17state_mouse.test, + src/libvterm/t/29state_fallback.test, + src/libvterm/t/40state_selection.test, src/libvterm/t/harness.c, + src/libvterm/t/run-test.pl, src/libvterm/vterm.pc.in, + src/terminal.c + +Patch 8.2.3667 +Problem: Building libvterm fails with MSVC. +Solution: Don't use C99 construct. +Files: src/libvterm/src/state.c + +Patch 8.2.3668 +Problem: Messages may be corrupted. +Solution: Use another buffer instead of IObuff. (Yegappan Lakshmanan, + closes #9195) +Files: src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.3669 +Problem: Buffer overflow with long help argument. +Solution: Use snprintf(). +Files: src/help.c, src/testdir/test_help.vim + +Patch 8.2.3670 +Problem: Error checks repeated several times. +Solution: Move the checks to functions. (closes #9213) +Files: src/xxd/xxd.c + +Patch 8.2.3671 +Problem: Restarting Insert mode in prompt buffer too often when a callback + switches windows and comes back. (Sean Dewar) +Solution: Do not set "restart_edit" when already in Insert mode. + (closes #9212) +Files: src/window.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.3672 (after 8.2.3670) +Problem: Build failure with unsigned char. +Solution: Use int instead of char. +Files: src/xxd/xxd.c + +Patch 8.2.3673 +Problem: Crash when allocating signal stack fails. +Solution: Only using sourcing info when available. (closes #9215) +Files: src/globals.h, src/message.c + +Patch 8.2.3674 +Problem: When ml_get_buf() fails it messes up IObuff. +Solution: Return a local pointer. (closes #9214) +Files: src/memline.c + +Patch 8.2.3675 +Problem: Using freed memory when vim_strsave() fails. +Solution: Clear "last_sourcing_name". Check for msg_source() called + recursively. (closes #8217) +Files: src/message.c + +Patch 8.2.3676 +Problem: Unused runtime file. +Solution: Remove rgb.txt. +Files: runtime/rgb.txt + +Patch 8.2.3677 +Problem: After a put the '] mark is on the last byte of a multi-byte + character. +Solution: Move it to the first byte. (closes #9047) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3678 (after 8.2.3677) +Problem: Illegal memory access. +Solution: Ignore changed indent when computing byte offset. +Files: src/register.c + +Patch 8.2.3679 +Problem: objc file detected as Octave. (Antony Lee) +Solution: Detect objc by preprocessor lines. (Doug Kearns, closes #9223, + closes #9220) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.3680 +Problem: Repeated code in xxd. +Solution: Change exit_on_ferror() to getc_or_die(). (closes #9226) +Files: src/xxd/xxd.c + +Patch 8.2.3681 +Problem: Cannot drag popup window after click on a status line. (Sergey + Vlasov) +Solution: Reset on_status_line. (closes #9221) +Files: src/mouse.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_04.dump + +Patch 8.2.3682 +Problem: Vim9: assigning to a script variable drops the required type. +Solution: Lookup the type of the variable and use it. (closes #9219) +Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3683 +Problem: Vim9: cannot use `=expr` in :...do commands. +Solution: Add EX_EXPAND to the commands. (closes #9232) +Files: src/ex_cmds.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3684 +Problem: Blockwise insert does not handle autoindent properly. +Solution: Adjust text column for indent. (closes #9229) +Files: src/ops.c, src/testdir/test_blockedit.vim + +Patch 8.2.3685 +Problem: Visual studio project files are not recognized. +Solution: Use the xml file type. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3686 +Problem: Filetype detection often mixes up Forth and F#. +Solution: Add a function to inspect the file contents. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, runtime/doc/filetype.txt, + runtime/doc/syntax.txt, runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3687 +Problem: Blockwise insert does not handle autoindent properly when tab is + inserted. +Solution: Adjust text column for indent before computing column. + (closes #9229) +Files: src/ops.c, src/testdir/test_blockedit.vim + +Patch 8.2.3688 +Problem: The window title is not updated when dragging the scrollbar. +Solution: Call maketitle(). (Christian Brabandt, closes #9238, closes #5383) +Files: src/gui.c + +Patch 8.2.3689 +Problem: ex_let_one() is too long. +Solution: Split into multiple functions. +Files: src/evalvars.c + +Patch 8.2.3690 +Problem: Vim9: "filter #pat# cmd" does not work. +Solution: Do not see #pat# as a comment. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3691 +Problem: Build failure with small features. +Solution: Add #ifdef. (Dominique Pellé) +Files: src/gui.c + +Patch 8.2.3692 +Problem: Vim9: cannot use :func inside a :def function. +Solution: Make it work. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/errors.h, + src/structs.h, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3693 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Check for NULL and give an error. +Files: src/vim9execute.c, src/errors.h + +Patch 8.2.3694 +Problem: Cannot use quotes in the count of an Ex command. +Solution: Add getdigits_quoted(). Give an error when misplacing a quote in + a range. (closes #9240) +Files: src/ex_docmd.c, src/charset.c, src/proto/charset.pro, + src/testdir/test_usercommands.vim + +Patch 8.2.3695 +Problem: Confusing error for missing key. +Solution: Use the actualy key for the error. (closes #9241) +Files: src/eval.c, src/testdir/test_listdict.vim + +Patch 8.2.3696 +Problem: Vim9: error for invalid assignment when skipping. +Solution: Do not check white space when skipping. (closes #9243) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3697 +Problem: Cannot drag a popup without a border. +Solution: Add the "dragall" option. (closes #9218) +Files: runtime/doc/popup.txt, src/mouse.c, src/popupwin.c, src/vim.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_05.dump, + src/testdir/dumps/Test_popupwin_drag_06.dump + +Patch 8.2.3698 +Problem: Match highlighting continues over breakindent. +Solution: Stop before the end column. (closes #9242) +Files: src/match.c, src/proto/match.pro, src/drawline.c, + src/testdir/test_match.vim, + src/testdir/dumps/Test_match_linebreak.dump + +Patch 8.2.3699 +Problem: The +title feature adds a lot of #ifdef but little code. +Solution: Graduate the +title feature. +Files: src/feature.h, src/alloc.c, src/arglist.c, src/autocmd.c, + src/buffer.c, src/bufwrite.c, src/change.c, src/drawscreen.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/gui.c, + src/gui_gtk_x11.c, src/if_xcmdsrv.c, src/locale.c, src/main.c, + src/misc2.c, src/netbeans.c, src/option.c, src/optionstr.c, + src/os_amiga.c, src/os_mswin.c, src/os_unix.c, src/os_win32.c, + src/regexp.c, src/term.c, src/ui.c, src/version.c, src/window.c, + src/globals.h, src/option.h, src/optiondefs.h, + runtime/doc/options.txt, runtime/doc/various.txt + +Patch 8.2.3700 +Problem: Text property highlighting continues over breakindent. +Solution: Stop before the end column. (closes #9242) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_prop_linebreak.dump + +Patch 8.2.3701 +Problem: Vim9: invalid LHS is not possible. +Solution: Remove unreachable error message. +Files: src/vim9compile.c + +Patch 8.2.3702 +Problem: First key in dict is seen as curly expression and fails. +Solution: Ignore failure of curly expression. (closes #9247) +Files: src/typval.c, src/dict.c, src/testdir/test_listdict.vim + +Patch 8.2.3703 (after 8.2.3686) +Problem: Most people call F# "fsharp" and not "fs". +Solution: Rename filetype "fs" to "fsharp". +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3704 +Problem: Vim9: cannot use a list declaration in a :def function. +Solution: Make it work. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/errors.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3705 +Problem: Cannot pass a lambda name to function() or funcref(). (Yegappan + Lakshmanan) +Solution: Handle a lambda name differently. +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/testdir/test_expr.vim + +Patch 8.2.3706 (after 8.2.3700) +Problem: Text property highlighting is used on Tab. +Solution: Only set in_linebreak when not on a Tab. (closes #9242) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_prop_after_tab.dump + +Patch 8.2.3707 +Problem: Vim9: constant expression of elseif not recognized. +Solution: Set instruction count before generating the expression. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3708 (after 8.2.3707) +Problem: Vim9: test fails with different error. +Solution: Correct the error number. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.3709 +Problem: Vim9: backtick expression expanded when not desired. +Solution: Only expand a backtick expression for commands that expand their + argument. Remove a few outdated TODO comments. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3710 +Problem: Vim9: backtick expression expanded for :global. +Solution: Check the following command. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3711 +Problem: Vim9: memory leak when compiling :elseif fails. +Solution: Cleanup ppconst. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3712 +Problem: Cannot use Vim9 lambda for 'tagfunc'. +Solution: Make it work, add more tests. (Yegappan Lakshmanan, closes #9250) +Files: runtime/doc/options.txt, src/insexpand.c, src/option.c, + src/testdir/test_tagfunc.vim + +Patch 8.2.3713 +Problem: MS-Windows: No error message if vimgrep pattern is not matching. +Solution: Give an error message. (Christian Brabandt, closes #9245, + closes #8762) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3714 +Problem: Some unused assignments and ugly code in xxd. +Solution: Leave out assignments. Use marcro for fprintf(). (closes #9246) +Files: src/xxd/xxd.c + +Patch 8.2.3715 +Problem: Vim9: valgrind reports spurious problems for a test. +Solution: Move the test to the set that is known to fail. +Files: src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_fails.vim + +Patch 8.2.3716 +Problem: Vim9: range without a command is not compiled. +Solution: Add the ISN_EXECRANGE byte code. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/vim9compile.c, + src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3717 +Problem: Vim9: error for constant list size is only given at runtime. +Solution: Give the error at compile time if possible. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3718 +Problem: Compiler warns for unused variable without the +textprop feature. + (John Marriott) +Solution: Adjust #ifdefs. +Files: src/drawline.c + +Patch 8.2.3719 +Problem: MS-Windows: test sometimes runs into existing swap file. +Solution: Use a different file name. +Files: src/testdir/test_buffer.vim + +Patch 8.2.3720 +Problem: Vim9: Internal error when invoking closure in legacy context. +Solution: Give a more appropriate error message. (closes #9251) +Files: src/errors.h, src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3721 +Problem: Using memory freed by losing the clipboard selection. (Dominique + Pellé) +Solution: Check y_array is still valid after calling changed_lines(). + (closes #9253) +Files: src/errors.h, src/register.c + +Patch 8.2.3722 +Problem: Amiga: superfluous messages for freeing lots of yanked text. +Solution: Assume that the machine isn't that slow these days. +Files: src/register.c + +Patch 8.2.3723 +Problem: When using 'linebreak' a text property starts too early. +Solution: Decrement "bcol" when looking for property start. (closes #9242) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_prop_after_linebreak.dump + +Patch 8.2.3724 +Problem: Build error for missing error message in small build. +Solution: Correct #ifdef. +Files: src/errors.h + +Patch 8.2.3725 +Problem: Cannot use a lambda for 'completefunc' and 'omnifunc'. +Solution: Implement lambda support. (Yegappan Lakshmanan, closes #9257) +Files: runtime/doc/options.txt, src/buffer.c, src/insexpand.c, + src/option.c, src/optionstr.c, src/proto/insexpand.pro, + src/proto/tag.pro, src/proto/userfunc.pro, src/structs.h, + src/tag.c, src/userfunc.c, src/testdir/test_ins_complete.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3726 +Problem: README file in a config directory gets wrong filetype. +Solution: Match README before patterns that match everything in a directory. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3727 +Problem: In a gnome terminal keys are recognized as mouse events. +Solution: Only recognize DEC mouse events when four numbers are following. + (closes #9256) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.3728 +Problem: Internal error when passing range() to list2blob(). +Solution: Materialize the list first. (closes #9262) +Files: src/blob.c, src/testdir/test_blob.vim + +Patch 8.2.3729 +Problem: No support for squirrels. +Solution: Recognize nuts. (closes #9259) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3730 +Problem: "/etc/Muttrc.d/README" gets filetype muttrc. +Solution: Move the Muttrc.d pattern down, add exception for *.rc files. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3731 +Problem: "set! termcap" shows codes in one column, but not keys. +Solution: Also use one column for keys. (closes #9258) +Files: src/option.c, src/term.c, src/proto/term.pro, + src/testdir/test_set.vim + +Patch 8.2.3732 (after 8.2.3731) +Problem: "set! termcap" test fails. +Solution: Account for keys without a t_xx entry. +Files: src/testdir/test_set.vim + +Patch 8.2.3733 +Problem: Vim9: using "legacy" before range does not work. +Solution: Skip over range before parsing command. (closes #9270) +Files: src/vim9compile.c, src/usercmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3734 +Problem: Vim9: crash when no pattern match found. +Solution: Check for error. +Files: src/vim9execute.c + +Patch 8.2.3735 +Problem: Cannot use a lambda for 'imactivatefunc'. +Solution: Add lambda support for 'imactivatefunc' and 'imstatusfunc'. + (Yegappan Lakshmanan, closes #9275) +Files: runtime/doc/options.txt, src/alloc.c, src/gui_xim.c, + src/optionstr.c, src/proto/gui_xim.pro, + src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim + +Patch 8.2.3736 +Problem: Test fails without the channel feature. (Dominique Pellé) +Solution: Source the check.vim script. (closes #9277) +Files: src/testdir/test_vim9_fails.vim + +Patch 8.2.3737 +Problem: Test fails without the 'autochdir' option. +Solution: Check that the option is available. (Dominique Pellé, closes #9272) +Files: src/testdir/test_cd.vim + +Patch 8.2.3738 +Problem: Screen is cleared when a FocusLost autocommand triggers. +Solution: Do not redraw when at the hit-enter or more prompt. (closes #9274) +Files: src/misc1.c + +Patch 8.2.3739 +Problem: In wrong directory when using win_execute() with 'acd' set. +Solution: Restore the directory when returning to the window. (closes #9276) +Files: src/window.c, src/testdir/test_autochdir.vim + +Patch 8.2.3740 +Problem: Memory left allocated on exit when using Tcl. +Solution: Call Tcl_Finalize(). +Files: src/if_tcl.c, src/proto/if_tcl.pro, src/alloc.c + +Patch 8.2.3741 +Problem: Using freed memory in open command. +Solution: Make a copy of the current line. +Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim + +Patch 8.2.3742 +Problem: Dec mouse test fails without gnome terminfo entry. +Solution: Check if there is a gnome entry. Also fix 'acd' test on + MS-Windows. (Ozaki Kiichi, closes #9282) +Files: src/testdir/test_termcodes.vim, src/testdir/test_autochdir.vim + +Patch 8.2.3743 +Problem: ":sign" can add a highlight group without a name. +Solution: Give an error if the group name is missing. (closes #9280) +Files: src/sign.c, src/errors.h, src/testdir/test_signs.vim + +Patch 8.2.3744 +Problem: E854 is not tested; some spelling suggestions are not tested. +Solution: Add a couple of tests. (Dominique Pellé, closes #9279) +Files: src/testdir/test_options.vim, src/testdir/test_spell.vim + +Patch 8.2.3745 +Problem: Autochdir test fails without the +channel feature. +Solution: Remove the ch_logfile() call. (Dominique Pellé, closes #9281) +Files: src/testdir/test_autochdir.vim + +Patch 8.2.3746 +Problem: Cannot disassemble function starting with "debug" or "profile". +Solution: Check for white space following. (closes #9273) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3747 (after 8.2.3743) +Problem: Cannot remove highlight from an existing sign. (James McCoy) +Solution: Only reject empty argument for a new sign. +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.2.3748 (after 8.2.3747) +Problem: Giving an error for an empty sign argument breaks a plugin. +Solution: Do not give an error. +Files: src/sign.c, src/errors.h, src/testdir/test_signs.vim + +Patch 8.2.3749 +Problem: Error messages are everywhere. +Solution: Move more error messages to errors.h and adjust the names. +Files: src/errors.h, src/regexp_bt.c, src/regexp.c, src/regexp_nfa.c, + src/globals.h, src/memfile.c, src/tag.c, src/getchar.c, + src/bufwrite.c, src/cmdexpand.c + +Patch 8.2.3750 +Problem: Error messages are everywhere. +Solution: Move more error messages to errors.h and adjust the names. +Files: src/globals.h, src/errors.h, src/blob.c, src/buffer.c, + src/channel.c, src/ex_docmd.c, src/job.c, src/list.c, src/mark.c, + src/misc1.c, src/os_unix.c, src/popupwin.c, src/register.c, + src/session.c, src/spellfile.c, src/term.c, src/userfunc.c + +Patch 8.2.3751 +Problem: Cannot assign a lambda to an option that takes a function. +Solution: Automatically convert the lambda to a string. (Yegappan + Lakshmanan, closes #9286) +Files: runtime/doc/options.txt, src/eval.c, src/proto/eval.pro, + src/evalvars.c, src/if_mzsch.c, src/if_ruby.c, src/if_tcl.c, + src/option.c, src/option.h, src/optiondefs.h, + src/proto/option.pro, src/spell.c, src/typval.c, + src/vim9compile.c, src/testdir/test_iminsert.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.3752 +Problem: Build error when using Photon GUI. +Solution: Adjust #ifdef. (closes #9288) +Files: src/beval.c + +Patch 8.2.3753 +Problem: Vim9: function unreferenced while called is never deleted. +Solution: Delete a function when no longer referenced. +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro + +Patch 8.2.3754 (after 8.2.3615) +Problem: Undesired changing of the indent of the first formatted line. +Solution: Do not indent the first formatted line. +Files: src/textformat.c, src/testdir/test_indent.vim + +Patch 8.2.3755 +Problem: Coverity warns for using a buffer in another scope. +Solution: Declare the buffer in a common scope. +Files: src/evalvars.c + +Patch 8.2.3756 +Problem: might crash when callback is not valid. +Solution: Check for valid callback. (Yegappan Lakshmanan, closes #9293) +Files: src/insexpand.c, src/option.c, src/tag.c, src/job.c, + src/userfunc.c, src/testdir/test_iminsert.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.3757 +Problem: An overlong highlight group name is silently truncated. +Solution: Give an error if the name is too long. (closes #9289) +Files: src/errors.h, src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.3758 +Problem: Options that take a function insufficiently tested. +Solution: Add additional tests and enhance existing tests. (Yegappan + Lakshmanan, closes #9298) +Files: src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3759 +Problem: Quickfix buffer becomes hidden while still in a window. +Solution: Check if the closed window is the last window showing the quickfix + buffer. (Yegappan Lakshmanan, closes #9303, closes #9300) +Files: src/quickfix.c, src/testdir/test_quickfix.vim, src/window.c + +Patch 8.2.3760 +Problem: Not automatically handling gnome terminal mouse like xterm. +Solution: Default 'ttymouse' to "xterm" and recognize Focus events. + (issue #9296) +Files: src/os_unix.c + +Patch 8.2.3761 +Problem: Focus change is not passed on to a terminal window. +Solution: If the current window is a terminal and focus events are enabled + send a focus event escape sequence to the terminal. +Files: src/ui.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_focus_1.dump, + src/testdir/dumps/Test_terminal_focus_2.dump + +Patch 8.2.3762 +Problem: If the quickfix buffer is wiped out getqflist() still returns its + number. +Solution: Use zero if the buffer is no longer present. (Yegappan Lakshmanan, + closes #9306) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3763 +Problem: When editing the command line a FocusLost callback may cause the + screen to scroll up. +Solution: Do not redraw at the last line but at the same place where the + command line was before. (closes #9295) +Files: src/ex_getln.c, src/ui.c, src/beval.c, src/channel.c, + src/drawscreen.c, src/proto/drawscreen.pro, src/job.c, + src/popupwin.c, src/sound.c, src/terminal.c, src/time.c, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_focus_1.dump, + src/testdir/dumps/Test_terminal_focus_2.dump, + src/testdir/dumps/Test_terminal_focus_3.dump + +Patch 8.2.3764 +Problem: Cannot see any text when window was made zero lines or zero + columns. +Solution: Ensure there is at least one line and column. (fixes #9307) +Files: src/window.c, src/proto/window.pro, src/normal.c, src/edit.c, + src/testdir/test_window_cmd.vim + +Patch 8.2.3765 +Problem: Vim9: cannot use a lambda for 'opfunc' and others. +Solution: Convert the lambda to a string. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3766 +Problem: Converting a funcref to a string leaves out "g:", causing the + meaning of the name depending on the context. +Solution: Prepend "g:" for a global function. +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.3767 (after 8.2.3766) +Problem: Crash when using NULL partial. +Solution: Check for NULL. +Files: src/eval.c + +Patch 8.2.3768 +Problem: timer_info() has the wrong repeat value in a timer callback. + (Sergey Vlasov) +Solution: Do not add one to the repeat value when in the callback. + (closes #9294) +Files: src/time.c, src/testdir/test_timers.vim + +Patch 8.2.3769 +Problem: Zig files are not recognized. +Solution: Add *.zig. (Gregory Anders, closes #9313) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3770 +Problem: New compiler warnings from clang-12 and clang-13. +Solution: Adjust CI and suppress some warnings. (Ozaki Kiichi, closes #9314) +Files: .github/workflows/ci.yml, ci/config.mk.clang-12.sed, + src/os_unix.c, src/spellfile.c + +Patch 8.2.3771 +Problem: Vim9: accessing freed memory when checking type. +Solution: Make a copy of a function type. +Files: src/structs.h, src/evalvars.c, src/vim9script.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.3772 +Problem: Timer info test fails on slow machine. +Solution: Use WaitForAssert(). +Files: src/testdir/test_timers.vim + +Patch 8.2.3773 +Problem: Wrong window size when a modeline changes 'columns' and there is + more than one tabpage. (Michael Soyka) +Solution: Adjust the frames of all tabpages. (closes #9315) +Files: src/window.c + +Patch 8.2.3774 (after 8.2.3773) +Problem: Test for command line height fails. +Solution: Use another way to handle window size change. +Files: src/structs.h, src/window.c + +Patch 8.2.3775 +Problem: Vim9: lambda compiled without outer context when debugging. +Solution: When compiling a lambda for debugging also compile it without. + (closes #9302) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3776 +Problem: When a tags file line is long a tag may not be found. +Solution: When increasing the buffer size read the same line again. +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.2.3777 +Problem: Spell file write error not checked. +Solution: Check writing the prefix conditions. (Bjorn Linse, closes #9323) +Files: src/spellfile.c + +Patch 8.2.3778 +Problem: Lambda debug test fails in some configurations. +Solution: Check feature in a legacy function. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3779 +Problem: Using freed memory when defining a user command from a user + command. +Solution: Do not use the command pointer after executing the command. + (closes #9318) +Files: src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3780 +Problem: ":cd" works differently on MS-Windows. +Solution: Add the 'cdhome' option. (closes #9324) +Files: runtime/doc/editing.txt, runtime/doc/options.txt, + runtime/doc/quickref.txt, runtime/optwin.vim, src/ex_docmd.c, + src/option.h, src/optiondefs.h, src/testdir/runtest.vim, + src/testdir/test_options.vim + +Patch 8.2.3781 +Problem: The option window script is outdated. +Solution: Add several changes. +Files: runtime/optwin.vim + +Patch 8.2.3782 +Problem: Vim9: no error if a function shadows a script variable. +Solution: Check the function doesn't shadow a variable. (closes #9310) +Files: src/userfunc.c, src/evalvars.c, src/vim.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.3783 +Problem: Confusing error for using a variable as a function. +Solution: If a function is not found but there is a variable, give a more + useful error. (issue #9310) +Files: src/eval.c, src/userfunc.c, src/proto/userfunc.pro, + src/structs.h, src/vim9execute.c, src/testdir/test_functions.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.3784 +Problem: The help for options is outdated. +Solution: Include all the recent changes. +Files: runtime/doc/options.txt + +Patch 8.2.3785 +Problem: Running CI on MacOS with gcc is not useful. +Solution: Only use clang. (Ozaki Kiichi, closes #9326) Also build with + normal features. +Files: .github/workflows/ci.yml + +Patch 8.2.3786 +Problem: Test fails because of using Vim9 syntax in legacy function. +Solution: Add "call". +Files: src/testdir/test_functions.vim + +Patch 8.2.3787 +Problem: No proper formatting of a C line comment after a statement. +Solution: Find the start of the line comment, insert the comment leader and + indent the comment properly. +Files: src/change.c, src/proto/change.pro, src/search.c, + src/proto/search.pro, src/cindent.c, src/edit.c, src/normal.c, + src/textformat.c, src/testdir/test_textformat.vim, + src/testdir/test_cindent.vim + +Patch 8.2.3788 +Problem: Lambda for option that is a function may be garbage collected. +Solution: Set a reference in the funcref. (Yegappan Lakshmanan, + closes #9330) +Files: src/eval.c, src/evalbuffer.c, src/evalvars.c, src/gui_xim.c, + src/insexpand.c, src/ops.c, src/proto/eval.pro, + src/proto/gui_xim.pro, src/proto/insexpand.pro, src/proto/ops.pro, + src/proto/tag.pro, src/quickfix.c, src/tag.c, + src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3789 +Problem: Test_window_minimal_size can fail on a slow machine. +Solution: Do not rely on timers firing at the expected time. (Ozaki Kiichi, + closes #9335) +Files: src/testdir/test_window_cmd.vim + +Patch 8.2.3790 +Problem: Test for term_gettitle() fails in some environments. +Solution: Make the digits after "VIM" optional. (Kenta Sato, closes #9334) +Files: src/testdir/test_terminal2.vim + +Patch 8.2.3791 +Problem: Build error with +cindent but without +smartindent. +Solution: Move declaration of "do_cindent". (John Marriott) +Files: src/change.c + +Patch 8.2.3792 +Problem: Setting *func options insufficiently tested. +Solution: Impove tests. (Yegappan Lakshmanan, closes #9337) +Files: src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3793 +Problem: Using "g:Func" as a funcref does not work in script context + because "g:" is dropped. +Solution: Keep "g:" in the name. Also add parenthesis to avoid confusing + operator prececence. (closes #9336) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3794 +Problem: Vim9: cannot find script-local func using "s:". (Yegappan + Lakshmanan) +Solution: Skip the "s:". +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3795 +Problem: Too many #ifdefs. +Solution: Graduate the jumplist feature. +Files: runtime/doc/various.txt, runtime/doc/motion.txt, src/feature.h, + src/buffer.c, src/change.c, src/evalfunc.c, src/ex_docmd.c, + src/mark.c, src/normal.c, src/undo.c, src/version.c, + src/viminfo.c, src/window.c, src/structs.h, + src/testdir/test_changelist.vim, src/testdir/test_jumplist.vim, + src/testdir/test_normal.vim + +Patch 8.2.3796 +Problem: The funcexe_T struct members are not named consistently. +Solution: Prefix "fe_" to all the members. +Files: src/structs.h, src/eval.c, src/list.c, src/regexp.c, + src/terminal.c, src/userfunc.c, src/vim9execute.c + +Patch 8.2.3797 +Problem: No good reason to limit the message history in the tiny version. +Solution: Always use 200. +Files: runtime/doc/message.txt, src/feature.h + +Patch 8.2.3798 +Problem: A :def callback function postpones an error message. +Solution: Display the error after calling the function. (closes #9340) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/dumps/Test_opfunc_error.dump + +Patch 8.2.3799 (after 8.2.3798) +Problem: Edit test hangs or fails. +Solution: Do not rethrow an exception when inside try/catch. +Files: src/userfunc.c + +Patch 8.2.3800 +Problem: When cross compiling the output of "uname" cannot be set. (Ben + Reeves) +Solution: Use cache variables. (closes #9338) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3801 +Problem: If a terminal shows in two windows, only one is redrawn. +Solution: Reset the dirty row range only after redrawing all windows. + (closes #9341) +Files: src/terminal.c, src/proto/terminal.pro, src/drawscreen.c, + src/testdir/test_terminal.vim + +Patch 8.2.3802 +Problem: Terminal in two windows test fails on some systems. +Solution: Wait a bit between commands. +Files: src/testdir/test_terminal.vim + +Patch 8.2.3803 +Problem: Crash when 'writedelay' is set and using a terminal window to + execute a shell command. +Solution: Check that "tl_vterm" isn't NULL. (closes #9346) +Files: src/terminal.c + +Patch 8.2.3804 +Problem: Script context not set when copying 'swf' and 'ts'. +Solution: Use COPY_OPT_SCTX with the right argument. (closes #9347) +Files: src/option.c + +Patch 8.2.3805 +Problem: i3config files are not recognized. +Solution: Add patterns to match i3config files. (Quentin Hibon, + closes #7969) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3806 +Problem: Terminal focus test fails sometimes. +Solution: Run the test function before others. +Files: src/testdir/test_terminal.vim + +Patch 8.2.3807 +Problem: Vim9: can call import with star directly. +Solution: Check that the import used star. +Files: src/userfunc.c, src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3808 +Problem: Vim9: obsolete TODO items +Solution: Remove the comments. +Files: src/vim9execute.c + +Patch 8.2.3809 +Problem: Vim9: crash when garbage collecting a nested partial. (Virginia + Senioria) +Solution: Set references in all the funcstacks. (closes #9348) +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/structs.h, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3810 +Problem: Vim9: expr4 test fails on MS-Windows. +Solution: Do not give an error for a missing function name when skipping. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3811 +Problem: The opfunc error test fails on a slow machine. +Solution: Use WaitForAssert(). +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.3812 +Problem: Vim9: leaking memory in numbered function test. +Solution: Skip "g:" when checking for numbered function. Clean up after + errors properly. +Files: src/userfunc.c + +Patch 8.2.3813 +Problem: confusing error when using :cc without error list. (Gary Johnson) +Solution: Give the "no errors" error. +Files: src/ex_docmd.c, src/testdir/test_quickfix.vim + +Patch 8.2.3814 +Problem: .csx files and .sln files are not recognized. +Solution: Add filetype patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3815 +Problem: Vim9: cannot have a multi-line dict inside a block. +Solution: Do not split the command at a line break, handle NL characters + as white space. +Files: src/ex_docmd.c, src/charset.c, src/proto/charset.pro, + src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3816 +Problem: Compiler warning for posible loss of data on MS-Windows. +Solution: Add type cast. (Mike Williams, closes #9349) +Files: src/userfunc.c + +Patch 8.2.3817 (after 8.2.3815) +Problem: Vim9: Not using NL as command end does not work for :autocmd. +Solution: Only ignore NL for commands with an expression argument. +Files: src/ex_cmds.h, src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3818 +Problem: Cannot filter or map characters in a string. +Solution: Make filter() and map() work on a string. (Naruhiko Nishino, + closes #9327) +Files: runtime/doc/eval.txt, src/errors.h, src/list.c, + src/testdir/test_filter_map.vim + +Patch 8.2.3819 (after 8.2.3818) +Problem: Test fails because error message changed. +Solution: Update screendumps. +Files: src/testdir/dumps/Test_popupwin_three_errors_1.dump, + src/testdir/dumps/Test_popupwin_three_errors_2.dump + +Patch 8.2.3820 +Problem: "vrc" does not replace composing characters, while "rc" does. +Solution: Check the byte length including composing characters. + (closes #9351) +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.2.3821 +Problem: ASAN test run fails. +Solution: Use asan_symbolize-13 instead of asan_symbolize-11. +Files: .github/workflows/ci.yml + +Patch 8.2.3822 +Problem: Leaking memory in map() and filter(), cannot use a string argument + in Vim9 script. +Solution: Fix the leak, adjust the argument check, also run the tests as + Vim9 script. (Yegappan Lakshmanan, closes #9354) +Files: src/errors.h, src/evalfunc.c, src/list.c, src/proto/typval.pro, + src/testdir/test_filter_map.vim, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3823 +Problem: Test for visual replace is in wrong function. +Solution: Move it to another function. +Files: src/testdir/test_visual.vim + +Patch 8.2.3824 +Problem: No ASAN support for MSVC. +Solution: Add ASAN support and fix a coupld of uncovered problems. (Yegappan + Lakshmanan, closes #9357) +Files: src/Make_mvc.mak, src/findfile.c, src/os_mswin.c, + src/testdir/test_fnamemodify.vim + +Patch 8.2.3825 +Problem: Various comments could be improved. +Solution: Improve the comments. +Files: src/getchar.c, src/mbyte.c, src/regexp_nfa.c, + src/testdir/test_edit.vim, src/gui_motif.c + +Patch 8.2.3826 +Problem: Vim9: using "g:Func" as a funcref does not work in a :def + function. +Solution: Include "g:" in the function name. (closes #9336) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3827 +Problem: Huntr badge does not really fit in the list. +Solution: Move the link to Huntr to the issue template. +Files: Filelist, .github/ISSUE_TEMPLATE/bug_report.yml, README.md + +Patch 8.2.3828 +Problem: when opening a terminal from a timer the first typed character + is lost. (Virginia Senioria) +Solution: When opening a terminal while waiting for a character put K_IGNORE + in the input buffer. +Files: src/terminal.c, src/edit.c, src/testdir/test_terminal.vim + +Patch 8.2.3829 +Problem: No error when setting a func option to a script-local function. +Solution: Give an error if the name starts with "s:". (closes #9358) +Files: src/option.c, src/testdir/test_tagfunc.vim, + src/testdir/dumps/Test_set_tagfunc_on_cmdline.dump + +Patch 8.2.3830 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/globals.h, src/errors.h, src/buffer.c, src/dict.c, src/diff.c, + src/digraph.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/misc2.c, src/quickfix.c, src/typval.c, src/ui.c, + src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/vim9type.c, src/window.c + +Patch 8.2.3831 +Problem: Opfunc test fails when missing feature changes function name. + (Dominique Pellé) +Solution: Check the relevant screen line instead of using a screendump. + (closes #9360) +Files: src/testdir/test_vim9_func.vim, + src/testdir/dumps/Test_opfunc_error.dump + +Patch 8.2.3832 (after 8.2.3830) +Problem: Test fails because of changed error message. +Solution: Adjust the expected error message. +Files: src/testdir/test_vimscript.vim + +Patch 8.2.3833 +Problem: Error from term_start() not caught by try/catch. +Solution: save and restore did_emsg when applying autocommands. (Ozaki + Kiichi, closes #9361) +Files: src/autocmd.c, src/testdir/test_terminal3.vim + +Patch 8.2.3834 +Problem: Test_out_cb often fails on Mac. +Solution: Increase the timeout with every retry. +Files: src/testdir/test_channel.vim + +Patch 8.2.3835 +Problem: The inline-function example does not work. +Solution: Drop ":let". Add EX_EXPR_ARG to CMD_var. (issue #9352) +Files: runtime/doc/vim9.txt, src/ex_cmds.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3836 +Problem: Vim9: comment after expression not skipped to find NL. +Solution: After evaluating an expression look for a newline after a # + comment. +Files: src/eval.c + +Patch 8.2.3837 +Problem: QNX: crash when compiled with GUI but using terminal. +Solution: Check gui.in_use is set. (Hirohito Higashi, closes #9363) +Files: src/autocmd.c + +Patch 8.2.3838 +Problem: Cannot use script-local function for setting *func options. +Solution: Use the script context. (Yegappan Lakshmanan, closes #9362) +Files: src/option.c, src/testdir/dumps/Test_set_tagfunc_on_cmdline.dump, + src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_quickfix.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.3839 +Problem: Using \z() with \z1 not tested for syntax highlighting. +Solution: Add a test. (Dominique Pellé, closes #9365) +Files: src/testdir/test_syntax.vim + +Patch 8.2.3840 +Problem: Useless test for negative index in check functions. +Solution: Remove the test for negative index. (Naruhiko Nishino, + closes #9364) +Files: src/typval.c + +Patch 8.2.3841 +Problem: Vim9: outdated TODO items, disabled tests that work. +Solution: Remove TODO items, run tests that work now. Check that a dict + item isn't locked. +Files: src/vim9execute.c, src/evalvars.c, src/errors.h, src/globals.h, + src/testdir/test_listdict.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.3842 +Problem: Vim9: can change locked list and list items. +Solution: Check that a list and list item isn't locked. +Files: src/vim9execute.c, src/testdir/test_listdict.vim + +Patch 8.2.3843 +Problem: Dep3patch files are not recognized. +Solution: Recognize dep3patch files by their location and content. (James + McCoy, closes #9367) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3844 +Problem: Vim9: no type error if assigning a value with type func(number) to + a variable of type func(string). +Solution: Use check_type_maybe(): return MAYBE if a runtime type check is + useful. (issue #8492) +Files: src/vim9type.c, src/proto/vim9type.pro, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3845 +Problem: Vim9: test fails when the channel feature is missing. +Solution: Check for the channel feature. (Dominique Pellé, closes #9368) +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3846 +Problem: No error when using control character for 'lcs' or 'fcs'. +Solution: Use char2cells() to check the width. (closes #9369) +Files: src/screen.c, src/testdir/test_display.vim, + src/testdir/test_listchars.vim + +Patch 8.2.3847 +Problem: Illegal memory access when using a lambda with an error. +Solution: Avoid skipping over the NUL after a string. +Files: src/eval.c, src/testdir/test_lambda.vim + +Patch 8.2.3848 +Problem: Cannot use reduce() for a string. +Solution: Make reduce() work with a string. (Naruhiko Nishino, closes #9366) +Files: runtime/doc/eval.txt, src/errors.h, src/evalfunc.c, src/list.c, + src/typval.c, src/proto/typval.pro, src/testdir/test_listdict.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3849 +Problem: Functions implementing reduce and map are too long. +Solution: Use a function for each type of value. Add a few more test cases + and add to the help. (Yegappan Lakshmanan, closes #9370) +Files: runtime/doc/eval.txt, src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.3850 +Problem: Illegal memory access when displaying a partial. +Solution: Terminate the string with a NUL. (closes #9371) +Files: src/eval.c, src/testdir/test_messages.vim + +Patch 8.2.3851 +Problem: Vim9: overhead when comparing string, dict or function. +Solution: Call the intented compare function directly. Refactor to avoid + duplicated code. +Files: src/vim9execute.c, src/typval.c, src/proto/typval.pro + +Patch 8.2.3852 +Problem: Vim9: not enough tests. +Solution: Also run existing tests for Vim9 script. Make errors more + consistent. +Files: src/testdir/test_listdict.vim, src/eval.c, src/vim9compile.c, + src/errors.h + +Patch 8.2.3853 +Problem: Vim9: not enough tests. +Solution: Run more existing tests for Vim9 script. +Files: src/testdir/test_listdict.vim + +Patch 8.2.3854 +Problem: Vim9: inconsistent arguments for test functions. +Solution: When :def function and script have different arguments use a list + with two items instead of a separate function. +Files: src/testdir/vim9.vim, src/testdir/test_execute_func.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_listdict.vim, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3855 +Problem: Illegal memory access when displaying a blob. +Solution: Append a NUL at the end. (Yegappan Lakshmanan, closes #9372) +Files: src/blob.c, src/regexp_nfa.c, src/testdir/test_blob.vim, + src/testdir/test_messages.vim + +Patch 8.2.3856 +Problem: Vim9: not enough tests. +Solution: Run more expression tests also with Vim9. Fix an uncovered + problem. +Files: src/vim9compile.c, src/testdir/test_expr.vim, src/testdir/vim9.vim + +Patch 8.2.3857 +Problem: Vim9: inconsistent error for using function(). +Solution: Use a runtime type check for the result of function(). + (closes #8492) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3858 +Problem: Vim9: not enough tests. +Solution: Add tests for :try/:catch and :redir. Add missing type check. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3859 +Problem: Vim9: some code lines not tested. +Solution: Add a few specific tests. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim, src/errors.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.3860 +Problem: Vim9: codecov struggles with the file size. +Solution: Split vim9compile.c into four files. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim9expr.c, src/proto/vim9expr.pro, + src/vim9cmds.c, src/proto/vim9cmds.pro, src/vim9.h, + src/vim9execute.c, src/vim9script.c, src/proto.h, + src/Makefile, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms + +Patch 8.2.3861 +Problem: List of distributed files is outdated. +Solution: Add new files. +Files: Filelist + +Patch 8.2.3862 +Problem: Crash on exit with EXITFREE and using win_execute(). +Solution: Also save and restore tp_topframe. (issue #9374) +Files: src/evalwindow.c, src/testdir/test_execute_func.vim + +Patch 8.2.3863 (after 8.2.3860) +Problem: Various build flags accidentally enabled. +Solution: Revert several lines in Makefile. +Files: src/Makefile + +Patch 8.2.3864 +Problem: Cannot disable requesting key codes from xterm. +Solution: Add the 'xtermcodes' option, default on. +Files: runtime/doc/options.txt, runtime/doc/term.txt, src/option.h, + src/optiondefs.h, src/term.c, runtime/optwin.vim + +Patch 8.2.3865 +Problem: Vim9: compiler complains about using "try" as a struct member. +Solution: Rename "try" to "tryref". +Files: src/vim9.h, src/vim9cmds.c, src/vim9execute.c, src/vim9instr.c + +Patch 8.2.3866 +Problem: Vim9: type checking global variables is inconsistent. +Solution: Use the "unknown" type in more places. +Files: src/globals.h, src/vim9expr.c, src/vim9instr.c, src/vim9cmds.c, + src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3867 +Problem: Implementation of some list functions too complicated. +Solution: Refactor do_sort_uniq(), f_count() and extend() (Yegappan + Lakshmanan, closes #9378) +Files: src/list.c + +Patch 8.2.3868 (after 8.2.3866) +Problem: Vim9: function test fails. +Solution: Add missing changes. Add test for earlier patch. +Files: src/vim9type.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3869 +Problem: Vim9: type checking for "any" is inconsistent. +Solution: Always use a runtime type check for using "any" for a more + specific type. +Files: src/vim9type.c, src/vim9compile.c, src/vim9expr.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.3870 +Problem: MS-Windows: wrong working directory when opening two files with + right-click context menu. (Gabriel Dupras) +Solution: Use the working directory and pass it on to the process creation. + (Nir Lichtman, closes #9382, closes #8874) +Files: src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.h + +Patch 8.2.3871 +Problem: List.c contains code for dict and blob. +Solution: Refactor to put code where it belongs. (Yegappan Lakshmanan, + closes #9386) +Files: src/blob.c, src/dict.c, src/list.c, src/proto/blob.pro, + src/proto/dict.pro, src/proto/list.pro, src/proto/strings.pro, + src/strings.c, src/structs.h, src/testdir/test_filter_map.vim, + src/testdir/test_listdict.vim, src/testdir/test_sort.vim + +Patch 8.2.3872 +Problem: Vim9: finddir() and uniq() return types can be more specific. +Solution: Adjust the return type. +Files: src/evalfunc.c, src/testdir/vim9.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3873 +Problem: go.mod files are not recognized. +Solution: Check for the file name. (closes #9380) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3874 +Problem: Cannot highlight the number column for a sign. +Solution: Add the "numhl" argument. (James McCoy, closes #9381) +Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/drawline.c, + src/popupwin.c, src/proto/sign.pro, src/sign.c, src/structs.h, + src/testdir/test_signs.vim + +Patch 8.2.3875 +Problem: gcc complains about buffer overrun. +Solution: Use mch_memmove() instead of STRCPY(). (John Marriott) +Files: src/dict.c + +Patch 8.2.3876 +Problem: 'cindent' does not recognize inline namespace. +Solution: Skip over "inline" to find "namespace". (closes #9383) +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.3877 +Problem: Function does not abort after a type error in compare +Solution: Check getting number fails. (closes #9384) +Files: src/typval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3878 +Problem: Vim9: debugger tries to read more lines than there are. +Solution: Check the number of lines. (closes #9394) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3879 +Problem: getreg() and getregtype() contain dead code. +Solution: Remove the needless check. (closes #9392) Also refactor to put + common code in a shared function. +Files: src/evalfunc.c + +Patch 8.2.3880 +Problem: Solution filter files are not recognized. +Solution: Add pattern *.slnf and use json. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3881 +Problem: QNX: crash when compiled with GUI but using terminal. +Solution: Check the gui.in_use flag. (Hirohito Higashi, closes #9391) +Files: src/main.c + +Patch 8.2.3882 (after 8.2.3879) +Problem: More duplicated code in f_getreginfo(). +Solution: Also use getreg_get_regname(). (closes #9398) +Files: src/evalfunc.c + +Patch 8.2.3883 +Problem: Crash when switching to other regexp engine fails. +Solution: Check for regprog being NULL. +Files: src/ex_cmds.c + +Patch 8.2.3884 +Problem: Crash when clearing the argument list while using it. +Solution: Lock the argument list for ":all". +Files: src/arglist.c, src/testdir/test_arglist.vim + +Patch 8.2.3885 +Problem: Arglist test fails. +Solution: Adjust for locking the arglist for ":all". +Files: src/testdir/test_arglist.vim + +Patch 8.2.3886 +Problem: Can define autocmd for every event by using "au!". +Solution: Check if a command is present also for "au!". +Files: src/autocmd.c, src/testdir/test_autocmd.vim, + src/testdir/test_arglist.vim + +Patch 8.2.3887 +Problem: E1135 is used for two different errors. +Solution: Renumber one error. +Files: src/errors.h, src/testdir/test_mapping.vim + +Patch 8.2.3888 +Problem: The argument list may contain duplicates. +Solution: Add the :argdedeupe command. (Nir Lichtman, closes #6235) +Files: runtime/doc/editing.txt, runtime/doc/index.txt, src/arglist.c, + src/ex_cmdidxs.h, src/ex_cmds.h, src/proto/arglist.pro, + src/testdir/test_arglist.vim + +Patch 8.2.3889 +Problem: Duplicate code for translating script-local function name. +Solution: Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan, + closes #9393) +Files: src/evalfunc.c, src/evalvars.c, src/option.c, src/userfunc.c, + src/proto/userfunc.pro, src/testdir/test_expr.vim, + src/testdir/test_normal.vim + +Patch 8.2.3890 +Problem: Vim9: type check for using v: variables is basic. +Solution: Specify a more precise type. +Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9instr.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3891 +Problem: Github CI: workflows may overlap. +Solution: Cancel previous workflows when starting a new one. (Yegappan + Lakshmanan, closes #9400) +Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml + +Patch 8.2.3892 +Problem: When modifyOtherKeys is used CTRL-C is not recognized. +Solution: Check for uppercase C as well, fix minimum length. +Files: src/ui.c + +Patch 8.2.3893 +Problem: Vim9: many local variables are initialized with an instruction. +Solution: Initialize local variables to zero to avoid the instructions. +Files: src/vim9execute.c, src/vim9compile.c, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim9cmds.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3894 +Problem: Vim9: no proper type check for first argument of call(). +Solution: Add specific type check. +Files: src/evalfunc.c, src/typval.c, src/proto/typval.pro, + src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3895 +Problem: Vim9: confusing error when using function() with a number. +Solution: Check for a function or string argument. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3896 +Problem: Vim9: no test for nested function not available later. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.3897 +Problem: Vim9: the second argument of map() and filter() is not checked at + compile time. +Solution: Add more specific type check for the second argument. +Files: src/evalfunc.c, src/globals.h, src/list.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3898 +Problem: Vim9: not sufficient testing for variable initialization. +Solution: Add another test case. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3899 (after 8.2.3897) +Problem: Vim9: test for map() on string fails. +Solution: Expect string return type. +Files: src/evalfunc.c + +Patch 8.2.3900 +Problem: It is not easy to use a script-local function for an option. +Solution: recognize s: and <SID> at the start of the expression. (Yegappan + Lakshmanan, closes #9401) +Files: runtime/doc/diff.txt, runtime/doc/fold.txt, + runtime/doc/options.txt, runtime/doc/print.txt, src/optionstr.c, + src/testdir/test_diffmode.vim, src/testdir/test_edit.vim, + src/testdir/test_fold.vim, src/testdir/test_gf.vim, + src/testdir/test_gui.vim, src/testdir/test_hardcopy.vim, + src/testdir/test_normal.vim + +Patch 8.2.3901 +Problem: Vim9: Cannot set 'cpo' in main .vimrc if using Vim9 script. +Solution: Do not restore 'cpo' at the end of the main .vimrc. +Files: runtime/doc/vim9.txt, runtime/doc/options.txt, src/scriptfile.c, + src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.3902 +Problem: Vim9: double free with nested :def function. +Solution: Pass "line_to_free" from compile_def_function() and make sure + cmdlinep is valid. +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3903 +Problem: "gM" does not count tabs as expected. +Solution: Use linetabsize() instead of mb_string2cells(). (closes #9409) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.3904 +Problem: Vim9: skip expression type is not checked at compile time. +Solution: Add argument type checks. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3905 +Problem: Dockerfile using prefix name not recognized. +Solution: Recognize Dockerfile.*. (closes #9410) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3906 +Problem: Vim9 help still contains "under development" warnings. +Solution: Remove the explicit warning. +Files: runtime/doc/vim9.txt + +Patch 8.2.3907 +Problem: Error messages are spread out. +Solution: Move error messages to errors.h. Avoid duplicates. +Files: src/userfunc.c, src/ex_cmds.c, src/viminfo.c, src/errors.h, + src/testdir/test_user_func.vim + +Patch 8.2.3908 +Problem: Cannot use a script-local function for 'foldtext'. +Solution: Expand "s:" and "<SID>". (Yegappan Lakshmanan, closes #9411) +Files: runtime/doc/fold.txt, src/optionstr.c, src/strings.c, + src/testdir/test_blob.vim, src/testdir/test_expr.vim, + src/testdir/test_filter_map.vim, src/testdir/test_fold.vim, + src/testdir/test_listdict.vim + +Patch 8.2.3909 +Problem: Containerfile using prefix name not recognized. +Solution: Recognize Containerfile.*. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3910 +Problem: When the compare function of sort() produces and error then sort() + does not abort. +Solution: Check if did_emsg was incremented. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3911 +Problem: Vim9: type check for filter() does not accept unknown. +Solution: Also accept unknown for the return type. (closes #9413) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3912 +Problem: The ins_complete() function is much too long. +Solution: Split it up into multiple functions. (Yegappan Lakshmanan, + closes #9414) +Files: src/insexpand.c + +Patch 8.2.3913 +Problem: Help for expressions does not mention Vim9 syntax. +Solution: Add the rules for Vim9 to the expression help. Rename functions + to match the help. +Files: runtime/doc/vim9.txt, runtime/doc/eval.txt, src/vim9expr.c + +Patch 8.2.3914 +Problem: Various spelling mistakes in comments. +Solution: Fix the mistakes. (Dominique Pellé, closes #9416) +Files: src/alloc.c, src/blowfish.c, src/buffer.c, src/cindent.c, + src/clipboard.c, src/diff.c, src/drawline.c, src/edit.c, + src/ex_cmds.c, src/ex_docmd.c, src/findfile.c, src/fold.c, + src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk.c, + src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, src/gui_xmebw.c, + src/if_python.c, src/if_python3.c, src/if_xcmdsrv.c, src/main.c, + src/memline.c, src/menu.c, src/message.c, src/misc1.c, src/move.c, + src/option.c, src/os_amiga.c, src/os_mac.h, src/os_mac_conv.c, + src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/os_win32.h, + src/quickfix.c, src/regexp_nfa.c, src/screen.c, src/scriptfile.c, + src/spell.c, src/spellfile.c, src/spellsuggest.c, src/strings.c, + src/term.c, src/terminal.c, src/testdir/test_debugger.vim, + src/testdir/test_source.vim, src/textformat.c, src/userfunc.c, + src/vim.h, src/vim9.h, src/vim9cmds.c, src/vim9execute.c, + src/winclip.c, src/window.c + +Patch 8.2.3915 +Problem: illegal memory access when completing with invalid bytes. +Solution: Avoid going over the end of the completion text. +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3916 +Problem: No error for passing an invalid line number to append(). +Solution: In Vim9 script check for a non-negative number. (closes #9417) +Files: src/evalbuffer.c, src/textprop.c, src/errors.h, src/indent.c, + src/eval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3917 +Problem: The eval.txt help file is way too big. +Solution: Move the builtin function details to a separate file. +Files: runtime/doc/eval.txt, runtime/doc/builtin.txt, + runtime/doc/Makefile, runtime/doc/help.txt, runtime/doc/remote.txt + +Patch 8.2.3918 (after 8.2.3916) +Problem: Function list test fails. +Solution: Adjust the test for the new location of the function list. +Files: src/testdir/test_function_lists.vim + +Patch 8.2.3919 +Problem: Vim9: wrong argument for append() results in two errors. +Solution: Check did_emsg. Also for setline(). Adjust the help for + appendbufline(). +Files: runtime/doc/builtin.txt, src/evalbuffer.c, src/typval.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3920 +Problem: Restoring directory after using another window is inefficient. +Solution: Only restore the directory for win_execute(). Apply 'autochdir' + only when needed. +Files: src/evalwindow.c, src/testdir/test_autochdir.vim + +Patch 8.2.3921 +Problem: The way xdiff is used is inefficient. +Solution: Use hunk_func instead of the out_line callback. (Lewis Russell, + closes #9344) +Files: src/diff.c + +Patch 8.2.3922 +Problem: Cannot build with dynamic Ruby 3.1. +Solution: Add "_EXTRA" variables for CI. Add missing functions. (Ozaki + Kiichi, closes #9420) +Files: ci/config.mk.clang-12.sed, ci/config.mk.clang.sed, + ci/config.mk.sed, src/Makefile, src/auto/configure, + src/config.mk.in, src/configure.ac, src/if_ruby.c, src/vim.h + +Patch 8.2.3923 +Problem: Vim9: double free if a nested function has a line break in the + argument list. +Solution: Set cmdlinep when freeing the previous line. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3924 +Problem: Vim9: no error if something follows :enddef in a nested function. +Solution: Give an error. Move common code to a function. +Files: src/userfunc.c, src/vim9compile.c, src/errors.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.3925 +Problem: Diff mode confused by NUL bytes. +Solution: Handle NUL bytes differently. (Christian Brabandt, closes #9421, + closes #9418) +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_bin_01.dump, + src/testdir/dumps/Test_diff_bin_02.dump, + src/testdir/dumps/Test_diff_bin_03.dump, + src/testdir/dumps/Test_diff_bin_04.dump + +Patch 8.2.3926 (after 8.2.3920) +Problem: Build failure without the 'autochdir' option. (John Marriott) +Solution: Add #ifdefs. +Files: src/evalwindow.c + +Patch 8.2.3927 +Problem: Vim9: double free when using lambda. +Solution: Don't free both cmdline and line_to_free. +Files: src/userfunc.c + +Patch 8.2.3928 +Problem: Heredoc test fails. +Solution: Correct order of function arguments. +Files: src/userfunc.c + +Patch 8.2.3929 +Problem: Using unititialized variable. +Solution: Set the option flags to zero for a terminal option. +Files: src/option.c + +Patch 8.2.3930 +Problem: getcmdline() argument has a misleading type. +Solution: Use the correct type, even though the value is not used. +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/ex_docmd.c, + src/normal.c, src/register.c, src/userfunc.c + +Patch 8.2.3931 +Problem: Coverity reports a memory leak. +Solution: Free memory in case of failure. +Files: src/diff.c + +Patch 8.2.3932 +Problem: C line comment not formatted properly. +Solution: If a line comment follows after "#if" the next line is not the end + of a paragraph. +Files: src/textformat.c, src/testdir/test_textformat.vim + +Patch 8.2.3933 +Problem: After ":cd" fails ":cd -" is incorrect. +Solution: Set the previous directory only after successfully changing + directory. (Richard Doty, closes #9419, closes #8983) +Files: src/ex_docmd.c, src/testdir/test_cd.vim + +Patch 8.2.3934 +Problem: Repeating line comment is undesired for "O" command. +Solution: Do not copy line comment leader for "O". (closes #9426) +Files: src/change.c, src/testdir/test_textformat.vim + +Patch 8.2.3935 +Problem: CTRL-U in Insert mode does not fix the indent. +Solution: Fix the indent when 'cindent' is set. +Files: src/edit.c, src/testdir/test_textformat.vim + +Patch 8.2.3936 +Problem: No proper test for maintaining change mark in diff mode. +Solution: Run the test with internal and external diff. (Sean Dewar, + closes #9424) +Files: src/testdir/test_diffmode.vim + +Patch 8.2.3937 +Problem: Insert mode completion function is too long. +Solution: Refactor into multiple functions. (Yegappan Lakshmanan, + closes #9423) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3938 +Problem: Line comment start is also found in a string. +Solution: Skip line comments in a string. +Files: src/cindent.c, src/proto/cindent.pro, src/search.c, + src/testdir/test_textformat.vim + +Patch 8.2.3939 +Problem: MS-Windows: fnamemodify('', ':p') does not work. +Solution: Do not consider an empty string a full path. (Yegappan Lakshmanan, + closes #9428, closes #9427) +Files: src/os_mswin.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.3940 +Problem: Match highlight disappears when doing incsearch for ":s/pat". +Solution: Only use line limit for incsearch highlighting. (closes #9425) +Files: src/match.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_match_with_incsearch_1.dump, + src/testdir/dumps/Test_match_with_incsearch_2.dump + +Patch 8.2.3941 +Problem: SIGTSTP is not handled. +Solution: Handle SIGTSTP like pressing CTRL-Z. (closes #9422) +Files: runtime/doc/autocmd.txt, src/ex_docmd.c, src/os_unix.c, + src/proto/ex_docmd.pro, src/testdir/test_signals.vim + +Patch 8.2.3942 +Problem: Coverity reports a possible memory leak. +Solution: Free the array if allocation fails. +Files: src/insexpand.c + +Patch 8.2.3943 +Problem: Compiler warning from gcc for uninitialized variable. +Solution: Initialize variable. (closes #9429) +Files: src/diff.c + +Patch 8.2.3944 +Problem: Insert mode completion functions are too long. +Solution: Split up into multiple functions. (Yegappan Lakshmanan, + closes #9431) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3945 +Problem: Vim9: partial variable argument types are wrong, leading to a + crash. +Solution: When adjusting the argument count also adjust the argument types. + (closes #9433) +Files: src/vim9type.c, src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3946 +Problem: When an internal error makes Vim exit the error is not seen. +Solution: Add the error to the test output. +Files: src/message.c, src/testdir/runtest.vim + +Patch 8.2.3947 +Problem: Unnecessary check for NULL pointer. +Solution: Remove the check. (closes #9434) +Files: src/ex_docmd.c + +Patch 8.2.3948 +Problem: Vim9: failure with partial with unknown argument count. +Solution: Do not copy argument types if there aren't any. +Files: src/vim9type.c + +Patch 8.2.3949 +Problem: Using freed memory with /\%V. +Solution: Get the line again after getvvcol(). +Files: src/regexp.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3950 +Problem: Going beyond the end of the line with /\%V. +Solution: Check for valid column in getvcol(). +Files: src/charset.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3951 +Problem: Vim9: memory leak when text after a nested function. +Solution: Free the function if text is found after "enddef". +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3952 +Problem: First line not redrawn when adding lines to an empty buffer. +Solution: Adjust the argument to appended_lines(). (closes #9439, + closes #9438) +Files: src/ex_cmds.c, src/testdir/test_excmd.vim + +Patch 8.2.3953 +Problem: Insert completion code is too complicated. +Solution: More refactoring. Move function arguments into a struct. + (Yegappan Lakshmanan, closes #9437) +Files: src/insexpand.c + +Patch 8.2.3954 +Problem: Vim9: no error for shadowing if script var is declared later. +Solution: Check argument names when compiling a function. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3955 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/debugger.c, src/ex_cmds.c, + src/help.c, src/sign.c, src/spellfile.c + +Patch 8.2.3956 +Problem: Duplicate assignment. +Solution: Remove the second assignment. (closes #9442) +Files: src/evalfunc.c + +Patch 8.2.3957 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c, + src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c src/ex_eval.c, + src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c, + src/vim9cmds.c, src/vim9compile.c + +Patch 8.2.3958 +Problem: Build failure compiling xxd with "-std=c2x". +Solution: define _XOPEN_SOURCE. (Yegappan Lakshmanan, closes #9444) +Files: src/xxd/xxd.c + +Patch 8.2.3959 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/autocmd.c, src/bufwrite.c, src/evalvars.c, + src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/fileio.c, + src/getchar.c, src/gui.c, src/locale.c, src/map.c + +Patch 8.2.3960 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/alloc.c, src/arglist.c, src/autocmd.c, + src/blob.c, src/blowfish.c, src/buffer.c, src/bufwrite.c + +Patch 8.2.3961 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h src/arglist.c, src/autocmd.c, + src/blob.c, src/bufwrite.c, src/channel.c, src/clipboard.c, + src/cmdexpand.c, src/debugger.c, src/dict.c, src/eval.c, + src/evalfunc.c, src/evalvars.c, src/evalwindow.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/fileio.c, + src/filepath.c, src/gui_gtk_x11.c, src/gui_haiku.cc, + src/gui_photon.c, src/gui_w32.c, src/gui_x11.c, src/highlight.c, + src/indent.c, src/insexpand.c, src/job.c, src/json.c, src/list.c, + src/map.c, src/mark.c, src/match.c, src/mbyte.c, src/menu.c, + src/message.c, src/misc2.c, src/ops.c, src/option.c, + src/optionstr.c, src/popupwin.c, src/quickfix.c, src/screen.c, + src/scriptfile.c, src/search.c, src/sign.c, src/spell.c, + src/spellfile.c, src/strings.c, src/syntax.c, src/terminal.c, + src/testing.c, src/textprop.c, src/time.c, src/userfunc.c, + src/vim9cmds.c, src/vim9execute.c, src/vim9script.c, src/window.c + +Patch 8.2.3962 (after 8.2.3961) +Problem: Build fails for missing error message. +Solution: Add changes in missed file. +Files: src/regexp_bt.c + +Patch 8.2.3963 +Problem: Build failure with tiny and small features. (Tony Mechelynck) +Solution: Adjust #ifdefs. +Files: src/errors.h, src/message.c + +Patch 8.2.3964 +Problem: Some common lisp and scheme files not recognized. +Solution: Recognize *.asd as lisp and *.sld as scheme. (Alex Vear, + closes #9447) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3965 +Problem: Vim9: no easy way to check if Vim9 script is supported. +Solution: Add has('vim9script'). +Files: runtime/doc/vim9.txt, src/evalfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3966 +Problem: When using feedkeys() abbreviations may be blocked. +Solution: Reset tb_no_abbr_cnt when running out of characters. + (closes #9448) +Files: src/getchar.c, src/testdir/test_feedkeys.vim + +Patch 8.2.3967 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/feature.h, src/arglist.c, + src/autocmd.c, src/blob.c, src/bufwrite.c, src/channel.c, + src/cmdexpand.c, src/dict.c, src/diff.c, src/eval.c, + src/evalfunc.c, src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c, + src/fileio.c, src/filepath.c, src/getchar.c, src/gui_gtk_x11.c, + src/gui_x11.c, src/hardcopy.c, src/help.c, src/highlight.c, + src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, + src/if_python.c, src/if_python3.c, src/if_ruby.c, src/if_tcl.c, + src/if_xcmdsrv.c, src/indent.c, src/insexpand.c, src/job.c, + src/list.c, src/main.c, src/map.c, src/match.c, src/mbyte.c, + src/message.c, src/misc1.c, src/option.c, src/optionstr.c, + src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/popupwin.c, + src/profiler.c, src/quickfix.c, src/scriptfile.c, src/search.c, + src/session.c, src/sign.c, src/spell.c, src/spellfile.c, + src/spellsuggest.c, src/syntax.c, src/tag.c, src/terminal.c, + src/testing.c, src/textprop.c, src/typval.c, src/userfunc.c, + src/vim9execute.c, src/vim9expr.c, src/vim9instr.c, + src/vim9script.c + +Patch 8.2.3968 +Problem: Build failure. +Solution: Add missing changes. +Files: src/strings.c, src/vim9compile.c + +Patch 8.2.3969 +Problem: Value of MAXCOL not available in Vim script. +Solution: Add v:maxcol. (Naohiro Ono, closes #9451) +Files: runtime/doc/builtin.txt, runtime/doc/eval.txt, src/evalvars.c, + src/testdir/test_cursor_func.vim, src/testdir/test_normal.vim, + src/testdir/test_put.vim, src/vim.h + +Patch 8.2.3970 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/buffer.c, src/bufwrite.c, + src/clientserver.c, src/cmdhist.c, src/dict.c, src/edit.c, + src/eval.c, src/evalfunc.c, src/evalvars.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/gui_w32.c, + src/gui_x11.c, src/if_xcmdsrv.c, src/insexpand.c, src/json.c, + src/match.c, src/menu.c, src/option.c, src/optionstr.c, + src/os_mswin.c, src/quickfix.c, src/regexp_bt.c, src/regexp_nfa.c, + src/scriptfile.c, src/sign.c, src/spellfile.c, src/undo.c, + src/userfunc.c, src/vim9cmds.c, src/vim9compile.c, + src/vim9execute.c, src/vim9expr.c, src/window.c + +Patch 8.2.3971 +Problem: Build fails. +Solution: Use the right error message name. +Files: src/typval.c + +Patch 8.2.3972 +Problem: Error messages are spread out. +Solution: Move the last errors from globals.h to errors.h. +Files: src/errors.h, src/globals.h, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/evalwindow.c, src/ex_eval.c, src/list.c, + src/match.c, src/menu.c, src/popupmenu.c, src/search.c, + src/vim9cmds.c, src/vim9expr.c + +Patch 8.2.3973 +Problem: Tiny build fails. +Solution: Adjust #ifdefs +Files: src/errors.h + +Patch 8.2.3974 +Problem: Vim9: LISTAPPEND instruction does not check for a locked list. +Solution: Check whether the list is locked. (closes #9452) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3975 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/clientserver.c, src/fileio.c, src/gui.c, + src/gui_beval.c, src/gui_w32.c, src/gui_x11.c, src/if_cscope.c, + src/if_xcmdsrv.c, src/os_mswin.c, src/sign.c, src/viminfo.c, + src/window.c + +Patch 8.2.3976 +Problem: FEARG_LAST is never used. (Dominique Pellé) +Solution: Remove FEARG_LAST and the related code. +Files: src/evalfunc.c + +Patch 8.2.3977 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/change.c, src/clientserver.c, src/eval.c, + src/gui_xim.c, src/if_cscope.c, src/if_py_both.h, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/main.c, + src/mark.c, src/match.c, src/memfile.c, src/memline.c, + src/terminal.c, src/textprop.c, src/userfunc.c + +Patch 8.2.3978 +Problem: Build error when using dynamycally loaded Python 3. +Solution: Adjust #ifdef. +Files: src/errors.h + +Patch 8.2.3979 +Problem: Vim9: the feature is not mentioned in the right places. +Solution: Add +vim9script to the help and :version output. +Files: runtime/doc/builtin.txt, runtime/doc/various.txt, src/version.c + +Patch 8.2.3980 +Problem: If 'operatorfunc' invokes an operator the remembered Visual mode + may be changed. (Naohiro Ono) +Solution: Save and restore the information for redoing the Visual area. + (closes #9455) +Files: src/ops.c, src/testdir/test_normal.vim + +Patch 8.2.3981 +Problem: Vim9: debugging a for loop doesn't stop before it starts. +Solution: Keep the DEBUG instruction before the expression is evaluated. + (closes #9456) +Files: src/vim9cmds.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3982 +Problem: Some lines of code not covered by tests. +Solution: Add a few more test cases. (Dominique Pellé, closes #9453) +Files: src/testdir/test_filter_map.vim, src/testdir/test_highlight.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_search.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3983 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/ex_docmd.c, src/fileio.c, src/filepath.c, + src/findfile.c, src/hardcopy.c, src/memfile.c, src/memline.c, + src/menu.c, src/normal.c, src/regexp_bt.c + +Patch 8.2.3984 (after 8.2.3981) +Problem: Debugger test fails. +Solution: Adjust the test for modified debugging of a for loop. +Files: src/testdir/test_debugger.vim + +Patch 8.2.3985 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/findfile.c, src/fold.c, src/hardcopy.c, + src/highlight.c, src/map.c, src/message.c, src/normal.c, + src/option.c, src/os_amiga.c, src/os_unix.c, src/os_win32.c, + src/quickfix.c, src/regexp.c, src/register.c, src/search.c, + src/syntax.c, src/tag.c, src/term.c, src/typval.c, src/undo.c, + src/window.c + +Patch 8.2.3986 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c, + src/fileio.c, src/fold.c, src/gui_x11.c, src/hardcopy.c, + src/help.c, src/highlight.c, src/if_cscope.c, src/json.c, + src/map.c, src/netbeans.c, src/popupwin.c, src/usercmd.c, + src/userfunc.c + +Patch 8.2.3987 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/digraph.c, src/ex_eval.c, src/gui.c, + src/hardcopy.c, src/if_cscope.c, src/if_tcl.c, src/if_xcmdsrv.c, + src/mbyte.c, src/misc2.c, src/netbeans.c, src/option.c, + src/optionstr.c, src/quickfix.c, src/regexp.c, src/tag.c, + src/term.c, src/viminfo.c + +Patch 8.2.3988 (after 8.2.3987) +Problem: Tiny build fails. +Solution: Fix misplaced #ifdef. +Files: src/errors.h + +Patch 8.2.3989 +Problem: Some insert completion code is not tested. +Solution: Add a few tests. Refactor thesaurus completion. (Yegappan + Lakshmanan, closes #9460) +Files: src/insexpand.c, src/testdir/test_edit.vim, + src/testdir/test_ins_complete.vim + +Patch 8.2.3990 +Problem: Testing wrong operator. +Solution: Test "g@" instead of "r_". (Naohiro Ono, closes #9463) +Files: src/testdir/test_normal.vim + +Patch 8.2.3991 +Problem: Vim9: error when extending dict<any> with another type that it was + initialized with. +Solution: Also set the type for dict<any> if the initializer has a more + specific type. (closes #9461) +Files: src/vim9compile.c, src/vim9type.c, src/vim9.h, src/eval.c, + src/list.c, src/vim9script.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.3992 +Problem: Wrong local-additions in the help with language mix. +Solution: Adjust how the local additions list is generated. (Hirohito + Higashi, closes #9464) +Files: src/help.c, src/testdir/test_help.vim + +Patch 8.2.3993 +Problem: When recording a change in Select mode the first typed character + appears twice. +Solution: When putting the character back into typeahead remove it from + recorded characters. (closes #9462) +Files: src/getchar.c, src/proto/getchar.pro, src/normal.c, + src/testdir/test_registers.vim + +Patch 8.2.3994 +Problem: Vim9: extend() complains about the type even when it was not + declared. +Solution: Only check the list or dict type when it was declared. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3995 +Problem: Not all sshconfig files are detected as such. +Solution: Adjust the patterns used for sshconfig detection. (David Auer, + closes #9322) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3996 +Problem: Vim9: type checking for list and dict lacks information about + declared type. +Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to + store two types in each entry. +Files: src/structs.h, src/dict.c, src/list.c, src/vim9type.c, + src/proto/vim9type.pro, src/vim9instr.c, src/proto/vim9instr.pro, + src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/evalbuffer.c, src/proto/evalbuffer.pro, src/vim9expr.c, + src/vim9cmds.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3997 +Problem: Vim9: not enough testing for extend() and map(). +Solution: Add more test cases. Fix uncovered problems. Remove unused type + fields. +Files: src/structs.h, src/dict.c, src/list.c, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3998 +Problem: Asan error for adding zero to NULL. +Solution: Do not compute pointer if there are no entries. +Files: src/vim9type.c + +Patch 8.2.3999 +Problem: Redundant check for NUL byte. +Solution: Remove the check for a NUL byte. (closes #9471) +Files: src/ex_docmd.c + +Patch 8.2.4000 +Problem: Coverity warns for checking for NULL pointer after using it. +Solution: Remove check for NULL. +Files: src/help.c + +Patch 8.2.4001 +Problem: Insert complete code uses global variables. +Solution: Make variables local to the file and use accessor functions. + (Yegappan Lakshmanan, closes #9470) +Files: src/edit.c, src/getchar.c, src/globals.h, src/insexpand.c, + src/proto/insexpand.pro, src/search.c + +Patch 8.2.4002 +Problem: First char typed in Select mode can be wrong. +Solution: Escape special bytes in the input buffer. (closes #9469) +Files: src/getchar.c, src/testdir/test_utf8.vim + +Patch 8.2.4003 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/channel.c, src/ex_docmd.c, src/ex_eval.c, + src/gui_at_fs.c, src/hardcopy.c, src/if_cscope.c, src/menu.c, + src/netbeans.c, src/optionstr.c, src/os_mswin.c, src/sign.c, + src/typval.c + +Patch 8.2.4004 +Problem: Old compiler complains about struct init with variable. +Solution: Set the struct member later. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.4005 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/dict.c, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, + src/filepath.c, src/gui.c, src/gui_w32.c, src/hardcopy.c, + src/help.c, src/highlight.c, src/if_python.c, src/list.c, + src/misc1.c, src/normal.c, src/quickfix.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/typval.c, src/userfunc.c + +Patch 8.2.4006 +Problem: Vim9: crash when declaring variable on the command line. +Solution: Use a temporary type list. (closes #9474) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4007 +Problem: Session does not restore help buffer properly when "options' is + missing from 'sessionoptions'. +Solution: Use a ":help" command to create the help window. (closes #9475, + closes #9458, closes #9472) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4008 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/diff.c, src/digraph.c, src/evalfunc.c, + src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/insexpand.c, src/match.c, src/memline.c, src/menu.c, + src/ops.c, src/profiler.c, src/quickfix.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/spell.c, + src/spell.h, src/spellfile.c, src/strings.c, src/syntax.c, + src/typval.c, src/undo.c, src/userfunc.c + +Patch 8.2.4009 +Problem: Reading one byte beyond the end of the line. +Solution: Check for NUL byte first. +Files: src/vim9compile.c, src/ex_docmd.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4010 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/crypt.c, src/diff.c, src/ex_docmd.c, + src/ex_getln.c, src/fileio.c, src/findfile.c, src/float.c, + src/gui.c, src/highlight.c, src/if_mzsch.c, src/if_py_both.h, + src/if_python.c, src/if_python3.c, src/insexpand.c, src/match.c, + src/memline.c, src/option.c, src/popupwin.c, src/regexp.c, + src/regexp_nfa.c, src/spellfile.c, src/strings.c, src/syntax.c, + src/textprop.c, src/typval.c, src/undo.c, src/usercmd.c, + src/userfunc.c, src/window.c + +Patch 8.2.4011 +Problem: Test fails because of changed error number. +Solution: Restore old duplicate error message. +Files: src/errors.h, src/match.c + +Patch 8.2.4012 +Problem: Error messages are spread out. +Solution: Move the last error messages to errors.h. +Files: src/errors.h, src/channel.c, src/clientserver.c, src/diff.c, + src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, + src/gui_w32.c, src/help.c, src/if_mzsch.c, src/if_py_both.h, + src/if_python.c, src/job.c, src/json.c, src/list.c, src/option.c, + src/optionstr.c, src/quickfix.c, src/regexp.c, src/regexp_nfa.c, + src/register.c, src/scriptfile.c, src/sign.c, src/syntax.c, + src/tag.c, src/terminal.c, src/textprop.c, src/typval.c, + src/undo.c, src/userfunc.c, src/vim9compile.c, src/viminfo.c + +Patch 8.2.4013 +Problem: Build failure without the spell feature. +Solution: Adjust #ifdefs. +Files: src/errors.h + +Patch 8.2.4014 +Problem: Git and gitcommit file types not properly recognized. +Solution: Adjust filetype detection. (Tim Pope, closes #9477) +Files: runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4015 +Problem: Build failure with tiny features. (Tony Mechelynck) +Solution: Adjust #ifdefs. +Files: src/errors.h + +Patch 8.2.4016 +Problem: Vim9: incorrect error for argument that is shadowing var. +Solution: Ignore variable that is not in block where the function was + defined. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4017 +Problem: Gcc warns for misleading indent in Athena menu code. +Solution: Add curlies around the two statements. (Dominique Pellé, + closes #9480) +Files: src/gui_athena.c + +Patch 8.2.4018 +Problem: ml_get error when win_execute redraws with Visual selection. +Solution: Disable Visual area temporarily. (closes #9479) +Files: src/evalwindow.c, src/proto/evalwindow.pro, src/structs.h, + src/evalbuffer.c, src/proto/evalbuffer.pro, src/evalvars.c, + src/if_py_both.h, src/evalfunc.c, + src/testdir/test_execute_func.vim + +Patch 8.2.4019 +Problem: Vim9: import mechanism is too complicated. +Solution: Do not use the Javascript mechanism but a much simpler one. +Files: runtime/doc/vim9.txt, src/vim9script.c, src/proto/vim9script.pro, + src/errors.h, src/structs.h, src/eval.c, src/proto/eval.pro, + src/evalvars.c, src/proto/evalvars.pro, src/userfunc.c, + src/vim9expr.c, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4020 (after 8.2.4019) +Problem: Debugger test fails. +Solution: Fix import statement. +Files: src/testdir/test_debugger.vim + +Patch 8.2.4021 (after 8.2.4019) +Problem: Missing part of the :import changes. +Solution: Add changes in vim9cmds.c. +Files: src/vim9cmds.c + +Patch 8.2.4022 +Problem: Two error messages in the wrong file. +Solution: Use the error message from errors.h. +Files: src/popupwin.c, src/usercmd.c + +Patch 8.2.4023 +Problem: Using uninitialized variable. +Solution: Initialize "ufunc" also when an item is not exported. +Files: src/vim9script.c + +Patch 8.2.4024 +Problem: Confusing error message if imported name is used directly. +Solution: Give a better error message. +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4025 +Problem: Error for import not ending in .vim does not work for .vimrc. +Solution: Check that .vim is the end. (closes #9484) +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4026 +Problem: ml_get error with specific win_execute() command. (Sean Dewar) +Solution: Check cursor and Visual area are OK. +Files: src/evalwindow.c, src/testdir/test_execute_func.vim + +Patch 8.2.4027 +Problem: Import test fails on MS-Windows. +Solution: Use a different directory name. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4028 +Problem: ml_get error with :doautoall and Visual area. (Sean Dewar) +Solution: Disable Visual mode while executing autocommands. +Files: src/structs.h, src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.4029 +Problem: Debugging NFA regexp my crash, cached indent may be wrong. +Solution: Fix some debug warnings in the NFA regexp code. Make sure log_fd + is set when used. Fix breakindent and indent caching. (Christian + Brabandt, closes #9482) +Files: src/indent.c, src/optionstr.c, src/regexp_nfa.c + +Patch 8.2.4030 +Problem: A script local funcref is not found from a mapping. +Solution: When looking for a function, also find a script-local funcref. + (closes #9485) +Files: src/evalvars.c, src/proto/evalvars.pro, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4031 +Problem: Crash in xterm with only two lines. (Dominique Pellé) +Solution: Only perform xterm compatibility test if possible. (closes #9488) +Files: src/term.c, src/testdir/test_startup.vim + +Patch 8.2.4032 +Problem: ATTRIBUTE_NORETURN is not needed. +Solution: Use NORETURN(). (Ozaki Kiichi, closes #9487) +Files: src/if_ruby.c, src/vim.h + +Patch 8.2.4033 +Problem: Running filetype tests leaves directory behind. +Solution: Delete the top directory. (closes #9483) +Files: src/testdir/test_filetype.vim + +Patch 8.2.4034 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Check v_partial is not NULL. +Files: src/vim9type.c + +Patch 8.2.4035 +Problem: Timer triggered at the debug prompt may cause trouble. +Solution: Do not trigger any timer at the debug prompt. (closes #9481) +Files: src/time.c + +Patch 8.2.4036 +Problem: Vim9: script test file is getting too long. +Solution: Split the import/export functionality to a separate file. +Files: src/testdir/test_vim9_script.vim src/testdir/test_vim9_import.vim, + src/testdir/Make_all.mak + +Patch 8.2.4037 +Problem: Insert mode completion is insufficiently tested. +Solution: Add more tests. Fix uncovered memory leak. (Yegappan Lakshmanan, + closes #9489) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.4038 +Problem: Various code not used when features are disabled. +Solution: Add #ifdefs. (Dominique Pellé, closes #9491) +Files: src/alloc.c, src/buffer.c, src/charset.c, src/clipboard.c, + src/cmdhist.c, src/crypt.c, src/edit.c, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/ex_docmd.c, src/globals.h, + src/gui_xim.c, src/hashtab.c, src/highlight.c, src/insexpand.c, + src/main.c, src/mark.c, src/message.c, src/misc1.c, src/misc2.c, + src/ops.c, src/option.c, src/option.h, src/optionstr.c, + src/register.c, src/scriptfile.c, src/tag.c, src/term.c, + src/typval.c, src/usercmd.c, src/userfunc.c, src/vim9script.c, + src/vim9type.c + +Patch 8.2.4039 +Problem: The xdiff library is linked in even when not used. +Solution: Use configure to decide whether xdiff object files are included. +Files: src/Makefile, src/config.mk.in, src/configure.ac, + src/auto/configure, src/feature.h + +Patch 8.2.4040 +Problem: Keeping track of allocated lines in user functions is too + complicated. +Solution: Instead of freeing individual lines keep them all until the end. +Files: src/alloc.c, src/proto/alloc.pro, src/vim9compile.c, + src/userfunc.c, src/proto/userfunc.pro, src/message.c, + src/usercmd.c, src/viminfo.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4041 +Problem: Using unitialized pointer. +Solution: Store "ht" when variable is in another script. +Files: src/evalvars.c + +Patch 8.2.4042 +Problem: Vim9: build error. +Solution: Use grow array instead of character pointer. +Files: src/vim9execute.c + +Patch 8.2.4043 +Problem: Using int for second argument of ga_init2(). +Solution: Remove unnessary type cast (int) when using sizeof(). +Files: src/arglist.c, src/channel.c, src/cmdexpand.c, src/dict.c, + src/digraph.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/ex_docmd.c, src/fileio.c, src/filepath.c, + src/findfile.c, src/fold.c, src/hardcopy.c, src/help.c, + src/job.c, src/list.c, src/menu.c, src/os_win32.c, src/register.c, + src/scriptfile.c, src/spellfile.c, src/spellsuggest.c, + src/strings.c, src/syntax.c, src/tag.c, src/terminal.c, + src/undo.c, src/usercmd.c, src/userfunc.c, src/vim9execute.c, + src/viminfo.c, src/window.c, src/if_py_both.h + +Patch 8.2.4044 +Problem: Vim9: no error when importing the same script twice. +Solution: Give an error, unless it is a reload. +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4045 +Problem: Some global functions are only used in one file. +Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492) +Files: src/ex_getln.c, src/highlight.c, src/proto/ex_getln.pro, + src/proto/highlight.pro, src/proto/vim9compile.pro, + src/proto/vim9instr.pro, src/proto/window.pro, src/vim9compile.c, + src/vim9instr.c, src/window.c + +Patch 8.2.4046 +Problem: Some error messages not in the right place. +Solution: Adjust the errors file. Fix typo. +Files: src/errors.h, src/regexp_bt.c, src/typval.c, + +Patch 8.2.4047 +Problem: Depending on the build features error messages are unused. +Solution: Add #ifdefs. (Dominique Pellé, closes #9493) +Files: src/errors.h + +Patch 8.2.4048 +Problem: gcc complains about use of "%p" in printf. +Solution: Add (void *) typecast. (Dominique Pellé, closes #9494) +Files: src/if_py_both.h + +Patch 8.2.4049 +Problem: Vim9: reading before the start of the line with "$" by itself. +Solution: Do not subtract one when reporting the error. +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4050 +Problem: Vim9: need to prefix every item in an autoload script. +Solution: First step in supporting "vim9script autoload" and "import + autoload". +Files: runtime/doc/repeat.txt, runtime/doc/vim9.txt, src/structs.h, + src/errors.h, src/vim9script.c, src/scriptfile.c, + src/proto/scriptfile.pro, src/userfunc.c, src/eval.c, + src/evalvars.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9expr.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4051 +Problem: Compiler complains about possibly uninitialized variable. +Solution: Add code to avoid a compiler warning. (John Marriott) +Files: src/scriptfile.c + +Patch 8.2.4052 +Problem: Not easy to resize a window from a plugin. +Solution: Add win_move_separator() and win_move_statusline() functions. + (Daniel Steinberg, closes #9486) +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/evalwindow.c, src/proto/evalwindow.pro, + src/testdir/test_window_cmd.vim + +Patch 8.2.4053 +Problem: Vim9: autoload mechanism doesn't fully work yet. +Solution: Define functions and variables with their autoload name, add the + prefix when calling a function, find the variable in the table of + script variables. +Files: src/structs.h, src/scriptfile.c, src/proto/scriptfile.pro, + src/vim9script.c, src/proto/vim9script.pro, src/userfunc.c, + src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4054 (after 8.2.4053) +Problem: Vim9 script test fails. +Solution: Add missing change. +Files: src/vim9compile.c + +Patch 8.2.4055 +Problem: Vim9: line break in expression causes v:errmsg to be filled. + (Yegappan Lakshmanan) +Solution: Do not give an error when skipping over an expression. +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4056 +Problem: Vim9: memory leak when exporting function in autoload script. +Solution: Free the name if replacing it. +Files: src/scriptfile.c + +Patch 8.2.4057 +Problem: Vim9: not fully implementing the autoload mechanism. +Solution: Allow for exporting a legacy function. Improve test coverage. +Files: src/vim9script.c, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.4058 +Problem: Vim9: import test failure in wrong line. +Solution: Adjust line number. +Files: src/testdir/test_vim9_import.vim + +Patch 8.2.4059 +Problem: Vim9: an expression of a map cannot access script-local items. + (Maxim Kim) +Solution: Use the script ID of where the map was defined. +Files: src/getchar.c, src/map.c, src/proto/map.pro, + src/testdir/test_vim9_import.vim + +Patch 8.2.4060 +Problem: win_execute() is slow on systems where getcwd() or chdir() is + slow. (Rick Howe) +Solution: Avoid using getcwd() and chdir() if no local directory is used and + 'acd' is not set. (closes #9504) +Files: src/evalwindow.c + +Patch 8.2.4061 +Problem: Codecov bash script is deprecated. +Solution: Use the codecov action. (Ozaki Kiichi, closes #9505) +Files: .github/workflows/ci.yml + +Patch 8.2.4062 +Problem: Match highlighting of tab too short. +Solution: Do not stop match highlighting if on a Tab. (Christian Brabandt, + closes #9507, closes #9500) +Files: src/drawline.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_match_tab_linebreak.dump + +Patch 8.2.4063 +Problem: Vim9: exported function in autoload script not found. (Yegappan + Lakshmanan) +Solution: Use the autoload prefix to search for the function. +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4064 +Problem: Foam files are not detected. +Solution: Detect the foam filetype by the path and file contents. (Mohammed + Elwardi Fadeli, closes #9501) +Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4065 +Problem: Computation overflow with large count for :yank. +Solution: Avoid an overflow. +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.4066 +Problem: Vim9: imported autoload script loaded again. +Solution: Do not create a new imported_T every time. +Files: src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4067 +Problem: Vim9: cannot call imported function with :call. (Drew Vogel) +Solution: Translate the function name. (closes #9510) +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4068 (after 8.2.4066) +Problem: Vim9: import test fails. +Solution: Add missing change. +Files: src/scriptfile.c + +Patch 8.2.4069 +Problem: Vim9: import test fails on MS-Windows. +Solution: Ignore case. Adjust test to avoid name that only differs in case. +Files: src/eval.c, src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4070 +Problem: Using uninitialized memory when reading empty file. +Solution: Check for empty file before checking for NL. (Dominique Pellé, + closes #9511) +Files: src/filepath.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.4071 +Problem: Vim9: no detection of return in try/endtry. (Dominique Pellé) +Solution: Check if any of the blocks inside try/endtry did not end in + return. +Files: src/vim9.h, src/vim9compile.c, src/vim9cmds.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4072 +Problem: Vim9: compiling function fails when autoload script is not loaded + yet. +Solution: Depend on runtime loading. +Files: src/vim9expr.c, src/vim9script.c, src/vim9instr.c, + src/vim9execute.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4073 +Problem: Coverity warns for using NULL pointer. +Solution: Bail out when running out of memory. Check for running over end of + a string. +Files: src/userfunc.c, + +Patch 8.2.4074 +Problem: Going over the end of NameBuff. +Solution: Check length when appending a space. +Files: src/drawscreen.c, src/testdir/test_edit.vim + +Patch 8.2.4075 (after 8.2.4073) +Problem: Test failures. +Solution: Change check for NULL pointer. +Files: src/userfunc.c + +Patch 8.2.4076 +Problem: Memory leak in autoload import. +Solution: Do not overwrite the autoload prefix. +Files: src/vim9script.c + +Patch 8.2.4077 +Problem: Not all Libsensors files are recognized. +Solution: Add "sensors.d/*" pattern. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4078 +Problem: Terminal test for current directory not used on FreeBSD. +Solution: Make it work on FreeBSD. (Ozaki Kiichi, closes #9516) Add + TermWait() inside Run_shell_in_terminal() as a generic solution. +Files: src/testdir/test_terminal3.vim, src/testdir/term_util.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, + src/testdir/test_mapping.vim + +Patch 8.2.4079 +Problem: MS-Windows: "gvim --version" didn't work when build with VIMDLL. +Solution: Adjust #ifdef. (Ken Takata, closes #9517) +Files: src/main.c + +Patch 8.2.4080 +Problem: Not sufficient test coverage for xxd. +Solution: Add a few more test cases. (Erki Auerswald, closes #9515) +Files: src/testdir/test_xxd.vim + +Patch 8.2.4081 +Problem: CodeQL reports problem in if_cscope causing it to fail. +Solution: Use execvp() instead of execl(). Merge the header file into the + source file. (Ozaki Kiichi, closes #9519) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/Make_vms.mms, src/Makefile, src/if_cscope.c, src/if_cscope.h, + src/testdir/test_cscope.vim + +Patch 8.2.4082 +Problem: Check for autoload file name and prefix fails. (Christian J. + Robinson) +Solution: Only lower case the prefix on systems where the file name is not + case sensitive. +Files: src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4083 +Problem: Vim9: no test for "vim9script autoload' and using script variable + in the same script. +Solution: Add a simple test. Fix uncovered problem. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4084 +Problem: Memory leak when looking for autoload prefixed variable. +Solution: Free the concatenated string. +Files: src/evalvars.c + +Patch 8.2.4085 +Problem: Vim9: no test for using import in legacy script. +Solution: Add a test. +Files: src/testdir/test_vim9_import.vim + +Patch 8.2.4086 +Problem: "cctx" argument of find_func_even_dead() is unused. +Solution: Remove the argument. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, + src/vim9instr.c, src/evalfunc.c, src/evalvars.c, src/testing.c, + src/vim9execute.c, src/vim9expr.c, src/vim9script.c, + src/vim9type.c + +Patch 8.2.4087 +Problem: Cannot test items from an autoload script easily. +Solution: Add the "autoload" value for test_override(). +Files: runtime/doc/testing.txt, src/testing.c, src/globals.h, + src/vim9script.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4088 +Problem: Xxd cannot output everything in one line. +Solution: Make zero columns mean infinite columns. (Erik Auerswald, + closes #9524) +Files: runtime/doc/xxd.1, runtime/doc/xxd.man, src/testdir/test_xxd.vim, + src/xxd/xxd.c + +Patch 8.2.4089 (after 8.2.4078) +Problem: Terminal test for current directory fails on FreeBSD. +Solution: Skip the test. +Files: src/testdir/test_terminal3.vim + +Patch 8.2.4090 +Problem: After restoring a session buffer order can be quite different. +Solution: Create buffers first. (Evgeni Chasnovski, closes #9520) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4091 +Problem: Virtcol is recomputed for statusline unnecessarily. +Solution: Just use "w_virtcol". (closes #9523) +Files: src/buffer.c, src/testdir/test_statusline.vim + +Patch 8.2.4092 +Problem: MacOS CI: unnecessarily doing "Install packages". +Solution: Only do "Install packages" for huge build. (Ozaki Kiichi, + closes #9521) +Files: .github/workflows/ci.yml + +Patch 8.2.4093 +Problem: Cached breakindent values not initialized properly. +Solution: Initialize and cache formatlistpat. (Christian Brabandt, + closes #9526, closes #9512) +Files: runtime/doc/options.txt, src/indent.c, src/option.c, + src/proto/option.pro, src/testdir/test_breakindent.vim + +Patch 8.2.4094 +Problem: 'virtualedit' is window-local but using buffer-local enum. +Solution: Use window-local enum. (closes #9529) +Files: src/option.h, src/optiondefs.h + +Patch 8.2.4095 +Problem: Sed script not recognized by the first line. +Solution: Recognize a sed script starting with "#n". (Doug Kearns) +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.4096 +Problem: Linux CI: unnecessarily installing packages +Solution: Only install packages for huge build. (Ozaki Kiichi, + closes #9530) +Files: .github/workflows/ci.yml + +Patch 8.2.4097 +Problem: Wrong number in error message on 32 bit system. (John Paul Adrian + Glaubitz) +Solution: Add type cast. (closes #9527) +Files: src/vim9compile.c + +Patch 8.2.4098 +Problem: Typing "interrupt" at debug prompt may keep exception around, + causing function calls to fail. +Solution: Discard any exception at the toplevel. (closes #9532) +Files: src/main.c + +Patch 8.2.4099 +Problem: Vim9: cannot use Vim9 syntax in mapping. +Solution: Add <ScriptCmd> to use the script context for a command. +Files: runtime/doc/map.txt, src/normal.c, src/getchar.c, + src/proto/getchar.pro, src/ex_getln.c, src/edit.c, src/terminal.c, + src/keymap.h, src/insexpand.c, src/misc2.c, src/ops.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4100 +Problem: Early return when getting the 'formatlistpat' value. +Solution: Remove the first line. (Christian Brabandt) +Files: src/option.c, src/testdir/test_breakindent.vim + +Patch 8.2.4101 +Problem: Warning for unused argument in tiny version. +Solution: Add "UNUSED". +Files: src/getchar.c + +Patch 8.2.4102 +Problem: Vim9: import cannot be used after method. +Solution: Recognize an imported function name. (closes #9496) +Files: src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4103 +Problem: Vim9: variable declared in for loop not initialzed. +Solution: Always initialze the variable. (closes #9535) +Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4104 +Problem: Vim9: lower casing the autoload prefix causes problems. +Solution: Always store the prefix with case preserved. +Files: src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4105 +Problem: Translation related comment in the wrong place. +Solution: Move it back with the text. (Ken Takata, closes #9537) +Files: src/errors.h, src/ex_docmd.c + +Patch 8.2.4106 +Problem: Going over the end of the w_lines array. +Solution: Break out of the loop when "idx" is too big. (issue #9540) +Files: src/drawscreen.c + +Patch 8.2.4107 +Problem: Script context not restored after using <ScriptCmd>. +Solution: Also restore context when not in a script. (closes #9536) + Add the 'c' flag to feedkeys() to be able to test this. +Files: runtime/doc/builtin.txt, src/getchar.c, src/evalfunc.c, + src/testdir/test_mapping.vim + +Patch 8.2.4108 +Problem: Going over the end of the w_lines array. +Solution: Check not going over the end and limit to Rows. (issue #9540) +Files: src/drawscreen.c + +Patch 8.2.4109 +Problem: MS-Windows: high dpi support is outdated. +Solution: Improve High DPI support by using PerMonitorV2. (closes #9525, + closes #3102) +Files: src/gui.c, src/gui.h, src/gui_w32.c, src/vim.manifest + +Patch 8.2.4110 +Problem: Coverity warns for using NULL pointer. +Solution: Check "evalarg" is not NULL. Skip errors when "verbose" is false. +Files: src/eval.c + +Patch 8.2.4111 +Problem: Potential proglem when map is deleted while executing. +Solution: Reset last used map pointer when deleting a mapping. +Files: src/map.c + +Patch 8.2.4112 +Problem: Function not deleted at end of test. +Solution: Delete the function. +Files: src/testdir/test_diffmode.vim + +Patch 8.2.4113 +Problem: Typo on DOCMD_RANGEOK results in not recognizing command. +Solution: Correct the typo. (closes #9539) +Files: src/vim.h, src/testdir/test_mapping.vim + +Patch 8.2.4114 +Problem: Vim9: type checking for a funcref does not work for when it is + used in a method. +Solution: Pass the base to where the type is checked. +Files: src/vim9type.c, src/proto/vim9type.pro, src/userfunc.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4115 +Problem: Cannot use a method with a complex expression. +Solution: Evaluate the expression after "->" and use the result. +Files: src/eval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.4116 +Problem: Vim9: cannot use a method with a complex expression in a :def + function. +Solution: Implement compiling the expression. +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4117 +Problem: Vim9: wrong white space error after using imported item. +Solution: Don't skip over white space. (closes #9544) +Files: src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4118 +Problem: Using UNUSED for argument that is used. +Solution: Remove UNUSED. +Files: src/usercmd.c + +Patch 8.2.4119 +Problem: Build failure when disabling the channel feature. +Solution: Adjust #ifdef. (Dominique Pellé, closes #9545) +Files: src/misc2.c + +Patch 8.2.4120 +Problem: Block insert goes over the end of the line. +Solution: Handle invalid byte better. Fix inserting the wrong text. +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.2.4121 +Problem: Visual test fails on MS-Windows. +Solution: Set 'isprint' so that the character used is not printable. +Files: src/testdir/test_visual.vim + +Patch 8.2.4122 +Problem: ":command Cmd" does not show custom completion argument. +Solution: Show the completion argument when using ":verbose". +Files: src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.4123 +Problem: Complete function cannot be import.Name. +Solution: Dereference the function name if needed. Also: do not see + "import.Name" as a builtin function. (closes #9541) +Files: src/userfunc.c, src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4124 +Problem: Vim9: method in compiled function may not see script item. +Solution: Make sure not to skip to the next line. (closes #9496) +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4125 +Problem: Completion tests fail. +Solution: Disable error messages while dereferencing the function name. +Files: src/eval.c + +Patch 8.2.4126 +Problem: Crash on exit when built with dynamic Tcl and EXITFREE is defined. + (Dominique Pellé) +Solution: Only call Tcl_Finalize() when initialized. (closes #9546) +Files: src/if_tcl.c + +Patch 8.2.4127 +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/usercmd.c + +Patch 8.2.4128 +Problem: Crash when method cannot be found. (Christian J. Robinson) +Solution: Don't mix up pointer names. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4129 +Problem: Building with +sound but without +eval fails. (Dominique Pellé) +Solution: Disable canberra in tiny and small build. (closes #9548) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.4130 +Problem: MS-Windows: MSVC build may have libraries duplicated. +Solution: Improve the MSVC Makefile. (Ken Takata, closes #9547) +Files: src/Make_mvc.mak + +Patch 8.2.4131 +Problem: Vim9: calling function in autoload import does not work in a :def + function. +Solution: When a variable is not found and a PCALL follows use a funcref. + (closes #9550) +Files: src/vim9execute.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4132 +Problem: Vim9: wrong error message when autoload script can't be found. +Solution: Correct check for using autoload with wrong name. +Files: src/vim9script.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4133 +Problem: output of ":scriptnames" goes into the message history, while this + des not happen for other commands, such as ":ls". +Solution: Use msg_outtrans() instead of smsg(). (closes #9551) +Files: src/scriptfile.c, src/testdir/test_scriptnames.vim + +Patch 8.2.4134 +Problem: MS-Windows: test for import with absolute path fails. +Solution: Handle path starting with slash as an absolute path. +Files: src/vim9script.c + +Patch 8.2.4135 +Problem: Vim9: ":scriptnames" shows unloaded imported autoload script. +Solution: Mark the unloaded script with "A". (closes #9552) +Files: runtime/doc/repeat.txt, src/scriptfile.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4136 +Problem: Vim9: the "autoload" argument of ":vim9script" is not useful. +Solution: Remove the argument. (closes #9555) +Files: runtime/doc/vim9.txt, runtime/doc/repeat.txt, src/vim9script.c, + src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4137 +Problem: Vim9: calling import with and without method is inconsistent. +Solution: Set a flag that a parenthsis follows to compile_load_scriptvar(). + Add some more tests. Improve error message. +Files: src/vim9expr.c, src/vim9execute.c, src/vim9script.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4138 +Problem: Vim9: no error for return with argument when the function does not + return anything. +Solution: Give an error for the invalid argument. (issue #9497) +Files: src/vim9cmds.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4139 +Problem: Using freed memory if an expression abbreviation deletes the + abbreviation. +Solution: Do not access the pointer after evaluating the expression. +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.2.4140 +Problem: maparg() does not indicate the type of script where it was defined. +Solution: Add "scriptversion". +Files: runtime/doc/builtin.txt, src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.4141 (after 8.2.4140) +Problem: Vim9 builtin functions test fails. +Solution: Add "scriptversion" item to maparg() result. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.4142 +Problem: Build failure with normal features without persistent undo. +Solution: Adjust #ifdef. (closes #9557) +Files: src/fileio.c + +Patch 8.2.4143 +Problem: MS-Windows: IME support for Win9x is obsolete. +Solution: Remove the Win9x code. (Ken Takata, closes #9559) +Files: src/gui_w32.c + +Patch 8.2.4144 +Problem: Cannot load libsodium dynamically. +Solution: Support dynamic loading on MS-Windows. (Ken Takata, closes #9554) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/buffer.c, + src/crypt.c, src/memline.c, src/proto/crypt.pro + +Patch 8.2.4145 +Problem: Confusing error when using name of import for a function. +Solution: Pass a flag to trans_function_name(). +Files: src/vim.h, src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4146 +Problem: Vim9: shadowed function can be used in compiled function but not + at script level. +Solution: Also give an error in a compiled function. (closes #9563) +Files: src/vim9expr.c + +Patch 8.2.4147 +Problem: E464 does not always include the offending command. +Solution: Add another error message with "%s". (closes #9564) +Files: src/errors.h, src/vim9compile.c, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4148 +Problem: Deleting any mapping may cause <ScriptCmd> to not set the script + context. +Solution: Only reset last_used_map if it is the deleted mapping. + (closes #9568) +Files: src/map.c, src/getchar.c, src/proto/getchar.pro, + src/testdir/test_mapping.vim + +Patch 8.2.4149 +Problem: Test override not restored, autocommand left behind. +Solution: Correct restoring test override. Delete autocommand afterwards. +Files: src/testdir/test_autocmd.vim, src/testdir/test_mapping.vim + +Patch 8.2.4150 +Problem: Coverity warns for using pointer after free. +Solution: Swap statements, even though using the pointer is no problem. +Files: src/map.c + +Patch 8.2.4151 +Problem: Reading beyond the end of a line. +Solution: For block insert only use the offset for correcting the length. +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.2.4152 +Problem: Block insert with double wide character fails. +Solution: Adjust the expected output. +Files: src/testdir/test_utf8.vim + +Patch 8.2.4153 +Problem: MS-Windows: Global IME is no longer supported. +Solution: Remove the Global IME implementation. (Ken Takata, closes #9562) +Files: Filelist, runtime/doc/mbyte.txt, src/Make_mvc.mak, src/dimm.idl, + src/glbl_ime.cpp, src/glbl_ime.h, src/gui_w32.c, src/vim.h + +Patch 8.2.4154 +Problem: ml_get error when exchanging windows in Visual mode. +Solution: Correct end of Visual area when entering another buffer. +Files: src/window.c, src/testdir/test_visual.vim + +Patch 8.2.4155 +Problem: Translating strftime() argument results in check error. +Solution: Add gettext comment. +Files: src/time.c + +Patch 8.2.4156 +Problem: Fileinfo message overwrites echo'ed message. +Solution: Reset need_fileinfo when displaying a message. (Rob Pilling, + closes #9569) +Files: src/message.c, src/testdir/test_messages.vim, + src/testdir/dumps/Test_fileinfo_after_echo.dump + +Patch 8.2.4157 +Problem: Terminal test fails because Windows sets the title. +Solution: Add the "vterm_title" testing override and use it in the test. + (Ozaki Kiichi, closes #9556) +Files: runtime/doc/testing.txt, src/globals.h, src/terminal.c, + src/testing.c, src/testdir/test_terminal.vim + +Patch 8.2.4158 +Problem: MS-Windows: memory leak in :browse. +Solution: Free stuff before returning. (Ken Takata, closes #9574) +Files: src/gui_w32.c + +Patch 8.2.4159 +Problem: MS-Windows: _WndProc() is very long. +Solution: Move code to separate functions. (Ken Takata, closes #9573) +Files: src/gui_w32.c + +Patch 8.2.4160 +Problem: Cannot change the register used for Select mode delete. +Solution: Make CTRL-R set the register to be used when deleting text for + Select mode. (Shougo Matsushita, closes #9531) +Files: runtime/doc/visual.txt, src/globals.h, src/normal.c, src/ops.c, + src/testdir/test_selectmode.vim + +Patch 8.2.4161 +Problem: Vim9: warning for missing white space after imported variable. +Solution: Do not skip white space. (closes #9567) +Files: src/vim9expr.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4162 +Problem: Vim9: no error for redefining function with export. +Solution: Check for existing function with/without prefix. (closes #9577) +Files: src/userfunc.c, src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4163 +Problem: No error for omitting function name after autoload prefix. +Solution: Check for missing function name. (issue #9577) +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4164 (after 8.2.4162) +Problem: Error in legacy code for function shadowing variable. +Solution: Only give the error in Vim9 script. +Files: src/userfunc.c + +Patch 8.2.4165 +Problem: The nv_g_cmd() function is too long. +Solution: Move code to separate functions. (Yegappan Lakshmanan, + closes #9576) +Files: src/normal.c + +Patch 8.2.4166 +Problem: Undo synced when switching buffer in another window. +Solution: Do not sync undo when not needed. (closes #9575) +Files: src/buffer.c, src/testdir/test_timers.vim + +Patch 8.2.4167 +Problem: Vim9: error message for old style import. +Solution: Use another error message. Add a test. +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4168 (after 8.2.4163) +Problem: Disallowing empty function name breaks existing plugins. +Solution: Allow empty function name in legacy script. +Files: src/userfunc.c, src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/foo.vim + +Patch 8.2.4169 +Problem: MS-Windows: unnessary casts and other minor things. +Solution: Clean up the MS-Windows code. (Ken Takata, closes #9583) +Files: src/gui_w32.c + +Patch 8.2.4170 +Problem: MS-Windows: still using old message API calls. +Solution: Call the "W" functions directly. (Ken Takata, closes #9582) +Files: src/gui_w32.c, src/os_mswin.c, src/os_win32.c, src/os_win32.h + +Patch 8.2.4171 +Problem: Cannot invoke option function using autoload import. +Solution: Expand the import to an autoload function name. (closes #9578) +Files: src/userfunc.c, src/evalvars.c, src/proto/evalvars.pro, + src/option.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4172 +Problem: Filetype detection for BASIC is not optimal. +Solution: Improve BASIC filetype detection. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4173 +Problem: Cannot use an import in 'foldexpr'. +Solution: Set the script context to where 'foldexpr' was set. (closes #9584) + Fix that the script context was not set for all buffers. +Files: src/eval.c, src/proto/eval.pro, src/fold.c, src/structs.h, + src/option.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4174 +Problem: Vim9: can use an autoload name in normal script. +Solution: Disallow using an autoload name. +Files: src/userfunc.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4175 +Problem: MS-Windows: runtime check for multi-line balloon is obsolete. +Solution: Remove the obsolete code. (Ken Takata, closes #9592) +Files: src/evalfunc.c, src/gui_w32.c, src/proto/gui_w32.pro + +Patch 8.2.4176 +Problem: Vim9: cannot use imported function with call(). +Solution: Translate the function name. (closes #9590) +Files: src/evalfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4177 +Problem: Vim9: autoload script not loaded after "vim9script noclear". +Solution: Check IMP_FLAGS_AUTOLOAD properly. (closes #9593) +Files: src/vim9compile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4178 +Problem: Vim9: invalid error for return type of lambda when debugging. +Solution: Do not check the return type of a lambda. (closes #9589) +Files: src/vim9cmds.c + +Patch 8.2.4179 +Problem: 'foldtext' is evaluated in the current script context. +Solution: Use the script context where the option was set. +Files: src/fold.c, src/buffer.c, src/eval.c, src/proto/eval.pro, + src/findfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4180 +Problem: 'balloonexpr' is evaluated in the current script context. +Solution: Use the script context where the option was set. +Files: src/beval.c, src/option.c, src/proto/option.pro, + src/testdir/test_balloon.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump, + src/testdir/dumps/Test_balloon_eval_term_02.dump + +Patch 8.2.4181 +Problem: Vim9: cannot use an import in 'diffexpr'. +Solution: Set the script context when evaluating 'diffexpr'. Do not require + 'diffexpr' to return a bool, it was ignored anyway. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4182 (after 8.2.4182) +Problem: Memory leak when evaluating 'diffexpr'. +Solution: Use free_tv() instead of clear_tv(). +Files: src/evalvars.c + +Patch 8.2.4183 +Problem: Cannot use an import in 'formatexpr'. +Solution: Set the script context when evaluating 'formatexpr'. +Files: src/textformat.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4184 +Problem: Cannot use an import in 'includeexpr'. +Solution: Set the script context when evaluating 'includeexpr' +Files: src/findfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4185 +Problem: Cannot use an import in 'indentexpr'. +Solution: Set the script context when evaluating 'indentexpr' +Files: src/indent.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4186 +Problem: Cannot use an import in 'patchexpr'. +Solution: Set the script context when evaluating 'patchexpr'. Do not + require 'patchexpr' to return a bool, it was ignored anyway. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4187 +Problem: Gnuplot file not recognized. +Solution: Recognize ".gnuplot". (closes #9588) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4188 +Problem: Not all gitconfig files are recognized. +Solution: Add a few more patterns. (Tim Pope, closes #9597) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4189 +Problem: MS-Windows: code for "old look" is obsolete. +Solution: Delete obsolete code. Use "MS Shell Dlg" font. (Ken Takata, + closes #9596) +Files: src/gui_w32.c + +Patch 8.2.4190 +Problem: All conceal tests are skipped without the screendumps feature. +Solution: Only skip the tests that use screendumps. (closes #9599) +Files: src/testdir/test_conceal.vim + +Patch 8.2.4191 +Problem: json5 files are not recognized. +Solution: Add a pattern for json5 files. (closes #9601) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4192 +Problem: Cannot use an import in 'printexpr'. +Solution: Set the script context when evaluating 'printexpr'. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4193 +Problem: Cannot use an import in 'charconvert'. +Solution: Set the script context when evaluating 'charconvert'. Also expand + script-local functions in 'charconvert'. +Files: src/evalvars.c, src/optionstr.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4194 +Problem: MS-Windows: code for calculating font size is duplicated. +Solution: Move the code to a function. (Ken Takata, closes #9603) +Files: src/gui_w32.c + +Patch 8.2.4195 +Problem: Resizing terminal may cause to behave like CTRL-Z. +Solution: Set "got_tstp" only when in_mch_suspend is set. (Dorian Bivolaru, + closes #9602, closes #9586) +Files: src/os_unix.c + +Patch 8.2.4196 +Problem: Various file types not recognized. +Solution: Add patterns to recognize more file types (closes #9607) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4197 +Problem: Cannot use an import in the "expr" part of 'spellsuggest'. +Solution: Set the script context when evaluating "expr" of 'spellsuggest'. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4198 +Problem: Vim9: the switch for executing instructions is too long. +Solution: Move some code to separate functions. +Files: src/vim9execute.c + +Patch 8.2.4199 +Problem: MS-Windows: Support for MSVC before 2003 is not useful. +Solution: Remove the exceptions for MSVC 6.0. (Ken Takata, closes #9616) +Files: src/GvimExt/gvimext.h, src/ex_docmd.c, src/feature.h, + src/gui_w32.c, src/if_cscope.c, src/if_ole.cpp, src/if_ruby.c, + src/macros.h, src/os_mswin.c, src/os_win32.c, src/os_win32.h, + src/proto/os_win32.pro, src/time.c, src/vim.h + +Patch 8.2.4200 +Problem: Some tests do not clean up properly. +Solution: Delete created files. (Yegappan Lakshmanan, closes #9611) +Files: src/testdir/test_filetype.vim, src/testdir/test_messages.vim, + src/testdir/test_vim9_import.vim + +Patch 8.2.4201 +Problem: When using the GUI CTRL-Z does not stop gvim. +Solution: When using the GUI set SIGTSTP to SIG_DFL. (Andrew Maltsev, + closes #9570) +Files: src/os_unix.c + +Patch 8.2.4202 +Problem: Vim9: cannot export function that exists globally. +Solution: When checking if a function already exists only check for + script-local functions. (closes #9615) +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim.h, + src/vim9compile.c, src/vim9instr.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4203 +Problem: Entering a character with CTRL-V may include modifiers. +Solution: Reset "mod_mask" when entering a character with digits after + CTRL-V. (closes #9610) +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.2.4204 +Problem: screenpos() has non-zero row for invisible text. +Solution: Only add the window row when the text is visible. (closes #9618) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.4205 +Problem: The normal_cmd() function is too long. +Solution: Move parts to separate functions. (Yegappan Lakshmanan, + closes #9608) +Files: src/normal.c + +Patch 8.2.4206 +Problem: Condition with many "(" causes a crash. +Solution: Limit recursion to 1000. +Files: src/errors.h, src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.4207 (after 8.2.4206) +Problem: Recursion test fails with MSVC. +Solution: Use a smaller limit for MSVC. +Files: src/eval.c + +Patch 8.2.4208 +Problem: Using setbufvar() may change the window title. +Solution: Do not redraw when creating the autocommand window. (closes #9613) +Files: src/autocmd.c, src/testdir/test_functions.vim + +Patch 8.2.4209 +Problem: partial in 'opfunc' cannot use an imported function. +Solution: Also expand the function name in a partial. (closes #9614) +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4210 (after 8.2.4208) +Problem: Window title test fails in some configurations. +Solution: Only run the test if the title can be obtained. +Files: src/testdir/test_functions.vim + +Patch 8.2.4211 (after 8.2.4208) +Problem: Window title test still fails in some configurations. +Solution: Use WaitForAssert(). +Files: src/testdir/test_functions.vim + +Patch 8.2.4212 (after 8.2.4208) +Problem: Window title test still fails in some configurations. +Solution: Explicitly set the 'title' option. +Files: src/testdir/test_functions.vim + +Patch 8.2.4213 +Problem: Too much code for supporting old MSVC versions. +Solution: Remove MSVC 2003 support. (Ken Takata, closes #9623) +Files: Filelist, src/INSTALLpc.txt, src/Make_mvc.mak, src/gui_w32.c, + src/msvcsetup.bat, src/os_win32.c + +Patch 8.2.4214 +Problem: Illegal memory access with large 'tabstop' in Ex mode. +Solution: Allocate enough memory. +Files: src/ex_getln.c, src/testdir/test_ex_mode.vim + +Patch 8.2.4215 +Problem: Illegal memory access when copying lines in Visual mode. +Solution: Adjust the Visual position after copying lines. +Files: src/ex_cmds.c, src/testdir/test_visual.vim + +Patch 8.2.4216 +Problem: Vim9: cannot use a function from an autoload import directly. +Solution: Add the AUTOLOAD instruction to figure out at runtime. + (closes #9620) +Files: src/vim9expr.c, src/vim9.h, src/vim9execute.c, src/vim9instr.c, + src/proto/vim9instr.pro, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4217 +Problem: Illegal memory access when undo makes Visual area invalid. +Solution: Correct the Visual area after undo. +Files: src/undo.c, src/testdir/test_visual.vim + +Patch 8.2.4218 +Problem: Illegal memory access with bracketed paste in Ex mode. +Solution: Reserve space for the trailing NUL. +Files: src/edit.c, src/testdir/test_paste.vim + +Patch 8.2.4219 +Problem: Reading before the start of the line. +Solution: Check boundary before trying to read the character. +Files: src/register.c, src/testdir/test_visual.vim + +Patch 8.2.4220 +Problem: MS-Windows: some old compiler support remains. +Solution: Remove obsolete compiler support. (Ken Takata, closes #9627) +Files: src/Make_mvc.mak, src/vim.h + +Patch 8.2.4221 +Problem: Some functions in normal.c are very long. +Solution: Move code to separate functions. (Yegappan Lakshmanan, + closes #9628) +Files: src/normal.c + +Patch 8.2.4222 +Problem: MS-Windows: clumsy way to suppress progress on CI. +Solution: Check for "$CI" in the Makefile itself. (Ken Takata, closes #9631) +Files: .github/workflows/ci.yml, ci/appveyor.bat, src/Make_mvc.mak + +Patch 8.2.4223 +Problem: Long/int compiler warnings; function arguments swapped. +Solution: Add type casts. Swap arguments. (Ken Takata, closes #9632) +Files: src/alloc.c, src/eval.c, src/vim9script.c + +Patch 8.2.4224 +Problem: Vim9: no error when using a number for map() second argument +Solution: Disallow number to string conversion. (closes #9630) +Files: src/eval.c, src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4225 +Problem: Vim9: depth argument of :lockvar not parsed in :def function. +Solution: Parse the optional depth argument. (closes #9629) + Fix that locking doesn't work for a non-materialize list. +Files: src/vim9cmds.c, src/evalvars.c, src/structs.h, src/evalfunc.c, + src/errors.h, src/vim9execute.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4226 (after 8.2.4224) +Problem: Filter-map test fails. +Solution: Only reject number argument in Vim9 script. +Files: src/eval.c + +Patch 8.2.4227 +Problem: Vim9: using "lockvar!" in :def function does not work. +Solution: Add "!" instead of "-1". (closes #9634) +Files: src/vim9cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4228 +Problem: No tests for clicking in the GUI tabline. +Solution: Add test functions to generate the events. Add tests using the + functions. (Yegappan Lakshmanan, closes #9638) +Files: runtime/doc/builtin.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/normal.c, + src/proto/testing.pro, src/testdir/test_diffmode.vim, + src/testdir/test_gui.vim, src/testdir/test_normal.vim, + src/testing.c + +Patch 8.2.4229 +Problem: Possible crash when invoking timer callback fails. +Solution: Initialize the typval. Give an error for an empty callback. + (closes #9636) +Files: src/time.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4230 +Problem: MS-Windows: set_guifontwide() is included but won't work. +Solution: Include set_guifontwide() only for X11. (Ken Takata, closes #9640) +Files: src/gui.c + +Patch 8.2.4231 +Problem: Vim9: map() gives type error when type was not declared. +Solution: Only check the type when it was declared, like extend() does. + (closes #9635) +Files: src/list.c, src/evalfunc.c, src/vim9instr.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4232 (after 8.2.4231) +Problem: Some compilers don't like a goto label without statement. +Solution: Return instead of using a goto. +Files: src/list.c + +Patch 8.2.4233 +Problem: Crash when recording and using Select mode. +Solution: When deleting the last recorded character check there is something + to delete. +Files: src/getchar.c, src/testdir/test_registers.vim + +Patch 8.2.4234 +Problem: test_garbagecollect_now() does not check v:testing as documented. +Solution: Give an error if v:testing is not set. +Files: src/testing.c, src/errors.h, src/testdir/test_functions.vim + +Patch 8.2.4235 +Problem: Invalid check for NULL pointer. +Solution: Remove the check. +Files: src/getchar.c + +Patch 8.2.4236 +Problem: Accessing freed memory. +Solution: Set the bh_curr pointer to NULL. +Files: src/getchar.c + +Patch 8.2.4237 +Problem: Record buffer wrong if character in Select mode was not typed. +Solution: Only delete the tail from the record buffer if the character was + typed. (closes #9650) +Files: src/normal.c, src/testdir/test_registers.vim + +Patch 8.2.4238 +Problem: *.tf file could be fileytpe "tf" or "terraform". +Solution: Detect the type from the file contents. (closes #9642) +Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4239 +Problem: Build fails with unusual configuration. +Solution: Adjust #ifdef. (closes #9651) +Files: src/testing.c + +Patch 8.2.4240 +Problem: Error for using flatten() in Vim9 script is unclear. +Solution: Add a remark to use flattennew(). +Files: src/errors.h + +Patch 8.2.4241 +Problem: Some type casts are redundant. +Solution: Remove the type casts. (closes #9643) +Files: src/blob.c, src/buffer.c, src/channel.c, src/clientserver.c, + src/clipboard.c, src/drawline.c, src/drawscreen.c, src/edit.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, + src/fold.c, src/if_cscope.c, src/json.c, src/match.c, + src/memline.c, src/message.c, src/misc1.c, src/normal.c, + src/ops.c, src/option.c, src/optionstr.c, src/os_unix.c, + src/register.c, src/sign.c, src/spellfile.c, src/tag.c, src/ui.c, + src/undo.c, src/window.c + +Patch 8.2.4242 +Problem: Put in Visual mode cannot be repeated. +Solution: Use "P" to put without yanking the deleted text into the unnamed + register. (Shougo Matsushita, closes #9591) +Files: runtime/doc/visual.txt, src/normal.c, src/register.c, + src/testdir/test_visual.vim + +Patch 8.2.4243 +Problem: Lua tests fail with Lua 5.4.4. +Solution: Check messages like before Lua 5.4.3. (Jakub Kulík, closes #9652) +Files: src/testdir/test_lua.vim + +Patch 8.2.4244 +Problem: MS-Windows: warning from MSVC on debug build. +Solution: Adjust "/opt"o options. Remove unused variables. Make variables + uppercase for consistency. (Ken Takata, closes #9647) +Files: src/Make_mvc.mak + +Patch 8.2.4245 +Problem: ":retab 0" may cause illegal memory access. +Solution: Limit the value of 'tabstop' to 10000. +Files: src/option.c, src/vim.h, src/indent.c, + src/testdir/test_options.vim + +Patch 8.2.4246 +Problem: One error message not in errors.h. (Antonio Colombo) +Solution: Move the message and rename. +Files: src/errors.h, src/if_perl.xs + +Patch 8.2.4247 +Problem: Stack corruption when looking for spell suggestions. +Solution: Prevent the depth increased too much. Add a five second time + limit to finding suggestions. +Files: src/spellsuggest.c, src/testdir/test_spell.vim + +Patch 8.2.4248 +Problem: No proper test for moving the window separator. +Solution: Add a test. Add comment in code. (closes #9656) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.2.4249 +Problem: The timeout limit for spell suggestions is always 5000 milli + seconds. +Solution: Add the "timeout" entry to 'spellsuggest'. +Files: runtime/doc/options.txt, src/spellsuggest.c, + src/testdir/test_spell.vim + +Patch 8.2.4250 +Problem: Channel out callback test is flaky on Mac. +Solution: Assign high priority to the test process. (Ozaki Kiichi, + closes #9653) +Files: src/testdir/test_channel_pipe.py, src/testdir/thread_util.py + +Patch 8.2.4251 +Problem: Vala files are not recognized. +Solution: Add the *.vala pattern. (closes #9654) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4252 +Problem: Generating the normal command table at runtime is inefficient. +Solution: Generate the table with a Vim script and put it in a header file. + (Yegappan Lakshmanan, closes #9648) +Files: Filelist, runtime/doc/builtin.txt, runtime/doc/usr_41.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile, src/create_nvcmdidxs.vim, src/evalfunc.c, + src/main.c, src/normal.c, src/nv_cmdidxs.h, src/proto/normal.pro + +Patch 8.2.4253 +Problem: Using freed memory when substitute uses a recursive function call. +Solution: Make a copy of the substitute text. +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.2.4254 +Problem: Using short instead of int. +Solution: Use int. (closes #9658) +Files: src/if_cscope.c + +Patch 8.2.4255 +Problem: Theoretical computation overflow. +Solution: Perform multiplication in a wider type. (closes #9657) +Files: src/alloc.c, src/drawline.c, src/eval.c, src/evalfunc.c, + src/ex_docmd.c, src/hardcopy.c, src/list.c, src/memfile.c, + src/memline.c, src/popupwin.c + +Patch 8.2.4256 +Problem: MS-Windows: compiler warnings when compiled with /W4. +Solution: Small adjustments to the code. (Ken Takata, closes #9659) +Files: src/gui_w32.c, src/os_win32.c + +Patch 8.2.4257 +Problem: Vim9: finding global function without g: prefix but not finding + global variable is inconsistent. +Solution: Require using g: for a global function. Change the vim9.vim + script into a Vim9 script with exports. Fix that import in legacy + script does not work. +Files: src/vim9expr.c, src/evalfunc.c, src/eval.c, src/userfunc.c, + src/testdir/vim9.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_blob.vim, + src/testdir/test_execute_func.vim, src/testdir/test_debugger.vim, + src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_highlight.vim, + src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_listdict.vim, src/testdir/test_mapping.vim, + src/testdir/test_normal.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tagfunc.vim, src/testdir/test_textprop.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.4258 +Problem: Coverity warns for array overrun. +Solution: Restrict depth to MAXWLEN - 1. +Files: src/spellsuggest.c + +Patch 8.2.4259 +Problem: Number of test functions for GUI events is growing. +Solution: Use one function with a dictionary. (Yegappan Lakshmanan, + closes #9660) +Files: runtime/doc/builtin.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/testing.pro, + src/testdir/test_gui.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c + +Patch 8.2.4260 +Problem: Vim9: can still use a global function without g: at the script + level. +Solution: Also check for g: at the script level. (issue #9637) +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalvars.c, + src/vim9expr.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_11.dump, + src/testdir/dumps/Test_popupwin_scroll_12.dump + +Patch 8.2.4261 +Problem: Accessing invalid memory when a regular expression checks the + Visual area while matching in a string. +Solution: Do not try matching the Visual area in a string. +Files: src/regexp.c, src/testdir/test_help.vim + +Patch 8.2.4262 (after 8.2.4261) +Problem: Some search tests fail. +Solution: Use a better way to reject searching for the Visual area. +Files: src/regexp.c + +Patch 8.2.4263 +Problem: No test for the GUI find/replace dialog. +Solution: Add a test function and a test. (Yegappan Lakshmanan, + closes #9662) +Files: runtime/doc/testing.txt, src/testdir/test_gui.vim, src/testing.c + +Patch 8.2.4264 +Problem: Vim9: can use old style autoload function name. +Solution: Give an error for old style autoload function name. +Files: src/errors.h, src/userfunc.c, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4265 (after 8.2.4264) +Problem: Autoload tests fails. +Solution: Use export instead of name with #. +Files: src/testdir/sautest/autoload/auto9.vim, + src/testdir/test_autoload.vim src/testdir/test_ins_complete.vim + +Patch 8.2.4266 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize saved_did_emsg. +Files: src/userfunc.c + +Patch 8.2.4267 +Problem: Unused entry in keymap enum. +Solution: Remove the entry. +Files: src/keymap.h + +Patch 8.2.4268 +Problem: CI log output is long. +Solution: Group output in sections. (Ozaki Kiichi, closes #9670) +Files: .github/workflows/ci.yml + +Patch 8.2.4269 +Problem: Coverity warns for using a NULL pointer. +Solution: Check for "name" to not be NULL. +Files: src/userfunc.c + +Patch 8.2.4270 +Problem: Generating nv_cmdidxs.h requires building Vim twice. +Solution: Move the table into a separate file and use a separate executable + to extract the command characters. (Ozaki Kiichi, closes #9669) +Files: src/normal.c, src/nv_cmds.h, Filelist, runtime/doc/builtin.txt, + runtime/doc/usr_41.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/Make_vms.mms, src/Makefile, src/create_nvcmdidxs.c, + src/create_nvcmdidxs.vim, src/evalfunc.c, src/proto/normal.pro + +Patch 8.2.4271 +Problem: MS-Windows: cannot build with Ruby 3.1.0. +Solution: Adjust the DLL name and include directory. (Ken Takata, + closes #9666) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.4272 +Problem: Vim9 expr test fails without the channel feature. (Dominique + Pellé) +Solution: Remove "g:" before "CheckFeature". (closes #9671) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.4273 +Problem: The EBCDIC support is outdated. +Solution: Remove the EBCDIC support. +Files: src/ascii.h, src/charset.c, src/cindent.c, src/digraph.c, + src/edit.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c, + src/feature.h, src/filepath.c, src/findfile.c, src/getchar.c, + src/gui.c, src/gui_motif.c, src/hardcopy.c, src/help.c, + src/macros.h, src/map.c, src/mark.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/option.h, src/optiondefs.h, + src/os_unix.c, src/proto/evalfunc.pro, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/screen.c, + src/spell.c, src/strings.c, src/structs.h, src/term.c, + src/version.c, src/viminfo.c, src/testdir/test_edit.vim, + src/testdir/test_exec_while_if.vim, src/testdir/test_expr.vim, + src/testdir/test_gf.vim, src/testdir/test_regexp_utf8.vim + +Patch 8.2.4274 +Problem: Basic and form filetype detection is incomplete. +Solution: Add a separate function for .frm files. (Doug Kearns, closes #9675) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4275 +Problem: Cannot use an autoload function from a package under start. +Solution: Also look in the "start" package directory. (Bjorn Linse, + closes #7193) +Files: src/scriptfile.c, src/testdir/test_packadd.vim + +Patch 8.2.4276 +Problem: Separate test function for the GUI scrollbar. +Solution: Use test_gui_event(). (Yegappan Lakshmanan, closes #9674) +Files: runtime/doc/builtin.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/testing.c, + src/proto/testing.pro, src/testdir/test_gui.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4277 +Problem: Vim9: an import does not shadow a command modifier. +Solution: Do not accept a command modifier followed by a dot. +Files: src/ex_docmd.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4278 +Problem: Build with Athena GUI fails. (Elimar Riesebieter) +Solution: Add #ifdef. +Files: src/testing.c + +Patch 8.2.4279 +Problem: Vim9: cannot change item type with map() after range(). +Solution: Split the return type in current type and declared type. + (closes #9665) +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9instr.c, + src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4280 (after 8.2.4279) +Problem: list-dict test crashes. +Solution: Check declared type for add(). +Files: src/vim9expr.vim + +Patch 8.2.4281 +Problem: Using freed memory with :lopen and :bwipe. +Solution: Do not use a wiped out buffer. +Files: src/buffer.c, src/testdir/test_quickfix.vim + +Patch 8.2.4282 +Problem: Restricted mode requires the -Z command line option. +Solution: Use restricted mode when $SHELL ends in "nologin" or "false". + (closes #9681) +Files: runtime/doc/starting.txt, src/option.c, + src/testdir/test_restricted.vim + +Patch 8.2.4283 +Problem: Using a variable for the return value is not needed. +Solution: Return the value directly. (closes #9687) +Files: src/ex_docmd.c, src/misc2.c + +Patch 8.2.4284 +Problem: Old mac resources files are no longer used. +Solution: Delete the unused files. (Ozaki Kiichi, closes #9688) +Files: Filelist, src/Makefile, src/dehqx.py, src/infplist.xml, + src/os_mac.rsr.hqx, src/os_mac_rsrc/app.icns, + src/os_mac_rsrc/doc-txt.icns, src/os_mac_rsrc/doc.icns + +Patch 8.2.4285 +Problem: Vim9: type of item in for loop not checked properly. +Solution: Adjust the type checking. (closes #9683) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9cmds.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4286 +Problem: Vim9: strict type checking after copy() and deepcopy(). +Solution: Allow type to change after making a copy. (closes #9644) +Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/proto/dict.pro, + src/list.c, src/proto/list.pro, src/evalfunc.c, src/vim9execute.c, + src/vim9type.c, src/proto/vim9type.pro, src/evalvars.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4287 +Problem: Cannot assign empty list with any list type to variable with + specific list type. +Solution: Use unknown list type for empty list if the specified type is any. +Files: src/vim9type.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4288 +Problem: Preprocessor indents are inconsistent. +Solution: Fix preprocessor indents. (Ken Takata, closes #9691) +Files: src/arglist.c, src/change.c, src/ex_cmds.c, src/gui.c, + src/hashtab.c, src/indent.c, src/ops.c, src/os_win32.c + +Patch 8.2.4289 +Problem: Warnings reported by MSVC. +Solution: Rename variables and other fixes. (Ken Takata, closes #9689) +Files: src/cmdexpand.c, src/drawscreen.c, src/filepath.c, src/getchar.c, + src/menu.c, src/os_win32.c, src/version.c + +Patch 8.2.4290 +Problem: MS-Windows: using type casts for timer IDs. +Solution: Remove type casts and use the right type. (Ken Takata, + closes #9690) Remove old debug comments. Rename variables and + functions. +Files: src/gui_w32.c + +Patch 8.2.4291 +Problem: Error number used twice. +Solution: Renumber of of the errors. +Files: src/errors.h + +Patch 8.2.4292 (after 8.2.4291) +Problem: Test fails. +Solution: Adjust the expected error number. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.4293 +Problem: Vim9: when copying a list it gets type list<any> even when the + original list did not have a type. +Solution: Only set the type when the original list has a type. (closes #9692) +Files: src/list.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4294 +Problem: MS-Windows: #ifdefs for Cygwin are too complicated. +Solution: Simplify the conditions. (Ken Takata, closes #9693) +Files: src/evalfunc.c, src/main.c, src/os_unix.c, src/os_win32.c, + src/os_win32.h + +Patch 8.2.4295 +Problem: Vim9: concatenating two lists may result in wrong type. +Solution: Remove the type instead of using list<any>. (closes #9692) +Files: src/list.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4296 +Problem: Vim9: not all code covered by tests. +Solution: Add a few more tests for corner cases. Fix hang when single quote + is missing. +Files: src/vim9expr.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.4297 +Problem: Vim9: not all code covered by tests. +Solution: Add a couple more tests. +Files: src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4298 +Problem: Divide by zero with huge tabstop value. +Solution: Reject tabstop value that overflows to zero. +Files: src/indent.c, src/testdir/test_vartabs.vim + +Patch 8.2.4299 +Problem: SafeState autocommand interferes with debugging. +Solution: Do not trigger SafeState while debugging. (closes #9697) +Files: src/main.c + +Patch 8.2.4300 (after 8.2.4299) +Problem: Cannot build tiny version. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/main.c + +Patch 8.2.4301 +Problem: Vim9: type error for copy of dict. +Solution: Do not use dict<any> but no type. (closes #9696) +Files: src/dict.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4302 +Problem: Vim9: return type of getline() is too strict. +Solution: Make the declared type list<any>. Also do this for other + functions returning a list of a specific type. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4303 +Problem: A few messages should not be translated. +Solution: Remove _(). (Dominique Pellé, closes #9702) +Files: src/syntax.c + +Patch 8.2.4304 +Problem: Vim9: slice() makes a copy but doesn't change the type. +Solution: Change the declared type like copy(). (closes #9696) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4305 +Problem: Tex filetype detection fails. +Solution: Check value to be positive. (closes #9704) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.4306 +Problem: No test for fixed perl filetype check. +Solution: Add a test. Sort test functions. +Files: src/testdir/test_filetype.vim + +Patch 8.2.4307 +Problem: A few more messages should not be translated. +Solution: Remove _(). +Files: src/syntax.c + +Patch 8.2.4308 +Problem: Vim9: cannot list autoload function. +Solution: Don't give an error for using # when listing a function. + (closes #9703) +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4309 +Problem: Vim9: crash when using a partial in the wrong context. +Solution: Don't use an NULL outer pointer. (closes #9706) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4310 +Problem: Vim9: constant list and dict get a declaration type other than + "any". +Solution: A constant list and dict have a declared member type "any". + (closes #9701) +Files: src/vim9instr.c, src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4311 +Problem: Vim9: changing script variable type not caught at compile time. +Solution: Set the declared type. +Files: src/vim9instr.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4312 +Problem: No error for using :vim9script in a :def function. +Solution: Give an error when compiling. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4313 +Problem: Vim9: cannot change type of list after making a slice. +Solution: Adjust the declared member type. (closes #9696) +Files: src/vim9expr.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4314 (after 8.2.4312) +Problem: Test fails where lines are skipped. +Solution: Only give an error when not skipping commands. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4315 +Problem: Put in Visual mode not fully tested. +Solution: Add a few more test cases. (closes #9708) +Files: src/testdir/test_visual.vim + +Patch 8.2.4316 +Problem: __CYGWIN32__ is not defined on 64 bit systems. +Solution: Update #ifdefs. (Ken Takata, closes #9709) +Files: src/main.c, src/os_unix.c, src/pty.c, src/vim.h + +Patch 8.2.4317 +Problem: MS-Windows: Vim exits when Python 3 initialisation fails. +Solution: Hook into the exit() function to recover from the failure. + (Ken Takata, closes #9710) +Files: runtime/doc/if_pyth.txt, src/if_python3.c, src/os_win32.c, + src/errors.h, src/proto/os_win32.pro + +Patch 8.2.4318 +Problem: Various comment and indent mistakes, returning wrong zero. +Solution: Fix the mistakes. Return NULL instead of FAIL. +Files: src/clientserver.c, src/eval.c, src/evalvars.c, src/vim9cmds.c, + src/window.c + +Patch 8.2.4319 +Problem: :put does not work properly in compiled function. (John Beckett) +Solution: Adjust the direction when using line zero. +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4320 +Problem: Athena and Motif: when maximized scrollbar position is wrong. +Solution: Implement the scrollbar padding functions. (closes #9712) +Files: src/gui_athena.c, src/gui_motif.c + +Patch 8.2.4321 +Problem: Vim9: crash when using a funcref to a closure. +Solution: Copy pt_outer to the new partial. (closes #9714) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4322 +Problem: Vim9: crash when using funcref with closure. +Solution: Keep a reference to the funcref that has the outer context. + (closes #9716) +Files: src/evalfunc.c, src/structs.h, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.4323 +Problem: Vim9: nested function name can start with "_". +Solution: Use same rule for function name for nested functions. + (closes #9713) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4324 +Problem: Vim9: script-local function name can start with "_". +Solution: Check for leading capital after "s:". Correct error message. +Files: src/userfunc.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.4325 +Problem: 'wildmenu' only shows few matches. +Solution: Add the "pum" option: use a popup menu to show the matches. + (Yegappan Lakshmanan et al., closes #9707) +Files: runtime/doc/options.txt, src/vim.h, src/cmdexpand.c, + src/drawscreen.c, src/evalfunc.c, src/ex_getln.c, src/option.h, + src/optionstr.c, src/popupmenu.c, src/proto/cmdexpand.pro, + src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_01.dump, + src/testdir/dumps/Test_wildmenu_pum_02.dump, + src/testdir/dumps/Test_wildmenu_pum_03.dump, + src/testdir/dumps/Test_wildmenu_pum_04.dump, + src/testdir/dumps/Test_wildmenu_pum_05.dump, + src/testdir/dumps/Test_wildmenu_pum_06.dump, + src/testdir/dumps/Test_wildmenu_pum_07.dump, + src/testdir/dumps/Test_wildmenu_pum_08.dump, + src/testdir/dumps/Test_wildmenu_pum_09.dump, + src/testdir/dumps/Test_wildmenu_pum_10.dump, + src/testdir/dumps/Test_wildmenu_pum_11.dump, + src/testdir/dumps/Test_wildmenu_pum_12.dump, + src/testdir/dumps/Test_wildmenu_pum_13.dump, + src/testdir/dumps/Test_wildmenu_pum_14.dump, + src/testdir/dumps/Test_wildmenu_pum_15.dump, + src/testdir/dumps/Test_wildmenu_pum_16.dump, + src/testdir/dumps/Test_wildmenu_pum_17.dump, + src/testdir/dumps/Test_wildmenu_pum_18.dump, + src/testdir/dumps/Test_wildmenu_pum_19.dump, + src/testdir/dumps/Test_wildmenu_pum_20.dump, + src/testdir/dumps/Test_wildmenu_pum_21.dump, + src/testdir/dumps/Test_wildmenu_pum_22.dump, + src/testdir/dumps/Test_wildmenu_pum_23.dump, + src/testdir/dumps/Test_wildmenu_pum_24.dump, + src/testdir/dumps/Test_wildmenu_pum_25.dump, + src/testdir/dumps/Test_wildmenu_pum_26.dump, + src/testdir/dumps/Test_wildmenu_pum_27.dump, + src/testdir/dumps/Test_wildmenu_pum_28.dump, + src/testdir/dumps/Test_wildmenu_pum_29.dump + +Patch 8.2.4326 +Problem: "o" and "O" copying comment not sufficiently tested. +Solution: Add a test case. (closes #9718) +Files: src/testdir/test_textformat.vim + +Patch 8.2.4327 +Problem: May end up with no current buffer. +Solution: When deleting the current buffer to not pick a quickfix buffer as + the new current buffer. +Files: src/buffer.c, src/testdir/test_quickfix.vim + +Patch 8.2.4328 +Problem: Command line complete matches cleard when typing character. + (Dominique Pellé) +Solution: Only remove a popup menu if there is one. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_30.dump, + src/testdir/dumps/Test_wildmenu_pum_31.dump + +Patch 8.2.4329 +Problem: No support for end line number and column in 'errorformat'. +Solution: Add %e and %k. (closes #9624) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.4330 +Problem: Vim9: no error if script imports itself. +Solution: Give an error when a script imports itself. +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4331 +Problem: Vim9: no test for existing script variable in block. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.4332 +Problem: Vim9: incomplete test for existing script variable in block. +Solution: Add a couple more tests. Fix uncovered problem. +Files: src/userfunc.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9script.c, src/vim9expr.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4333 +Problem: cstack not always passed to where it is needed. +Solution: Pass ctack through functions. +Files: src/eval.c, src/vim9expr.c, src/vim9script.c, + src/proto/vim9script.pro, src/vim9compile.c, + src/proto/vim9compile.pro + +Patch 8.2.4334 +Problem: Command line popup menu not positioned correctly. +Solution: Also use vim_strsize() on the existing text. (Naruhiko Nishino, + closes #9727) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_32.dump + +Patch 8.2.4335 +Problem: No autocommand event triggered before changing directory. (Ronnie + Magatti) +Solution: Add DirChangedPre. (closes #9721) +Files: runtime/doc/autocmd.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim.h, src/autocmd.c, src/misc2.c, + src/testdir/test_autocmd.vim + +Patch 8.2.4336 +Problem: Using :filter for :scriptnames does not work. (Ben Jackson) +Solution: Call message_filtered(). (closes #9720) +Files: src/scriptfile.c, src/testdir/test_filter_cmd.vim + +Patch 8.2.4337 +Problem: Part of condition is always true. +Solution: Remove that part of the condition. (closes #9729) +Files: src/filepath.c + +Patch 8.2.4338 +Problem: An error from an expression mapping messes up the display. +Solution: When the expression results in an empty string return K_IGNORE. + In cmdline mode redraw the command line. (closes #9726) +Files: src/getchar.c, src/testdir/test_mapping.vim, + src/testdir/dumps/Test_map_expr_2.dump, + src/testdir/dumps/Test_map_expr_3.dump, + src/testdir/dumps/Test_map_expr_4.dump + +Patch 8.2.4339 +Problem: CTRL-A does not work properly with the cmdline popup menu. +Solution: Fix issues with CTRL-A. Add more tests for the cmdline popup + menu. Remove TermWait() before VeriryScreenDump(). Refactor the + cmdline popup code. (Yegappan Lakshmanan, closes #9735) +Files: src/cmdexpand.c, src/ex_getln.c, src/popupmenu.c, + src/testdir/screendump.vim, src/testdir/test_bufline.vim, + src/testdir/test_cmdline.vim, src/testdir/test_conceal.vim, + src/testdir/test_cursorline.vim, src/testdir/test_diffmode.vim, + src/testdir/test_display.vim, src/testdir/test_highlight.vim, + src/testdir/test_match.vim, src/testdir/test_popup.vim, + src/testdir/test_search_stat.vim, src/testdir/test_terminal.vim, + src/testdir/test_textprop.vim, + src/testdir/dumps/Test_wildmenu_pum_33.dump, + src/testdir/dumps/Test_wildmenu_pum_34.dump, + src/testdir/dumps/Test_wildmenu_pum_35.dump, + src/testdir/dumps/Test_wildmenu_pum_36.dump, + src/testdir/dumps/Test_wildmenu_pum_37.dump + +Patch 8.2.4340 +Problem: Amiga: mch_can_exe() is not implemented. +Solution: Implement mch_can_exe() for Amiga OS 4. (Ola Söder, closes #9731) +Files: src/os_amiga.c + +Patch 8.2.4341 +Problem: Command line not redrawn when finishing popup menu and the screen + has scrolled up. +Solution: Redraw the command line after updating the screen. (closes #9722) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_38.dump + +Patch 8.2.4342 +Problem: CI will soon switch to other windows version. +Solution: Use "windows-2019" instead of "windows-latest". (Ozaki Kiichi, + closes #9740) +Files: .github/workflows/ci.yml + +Patch 8.2.4343 +Problem: When reloading not all properties are detected. +Solution: Add the "edit" value to v:fcs_choice. (Rob Pilling, closes #9579) +Files: runtime/doc/editing.txt, runtime/doc/eval.txt, src/fileio.c, + src/proto/fileio.pro, src/message.c, src/spellfile.c, + src/testdir/test_filechanged.vim + +Patch 8.2.4344 +Problem: Amiga: header file included twice. +Solution: Remove #include. (Ola Söder, closes #9733) +Files: src/memfile.c + +Patch 8.2.4345 +Problem: <amatch> is expanded like a file name for DirChangedPre. +Solution: Do not expand <amatch>. (closes #9742) Also for the User event. +Files: src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.4346 +Problem: A custom statusline may cause Esc to work like Enter on the + command line when the popup menu is displayed. +Solution: Save and restore KeyTyped. (closes #9749) +Files: src/drawscreen.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_39.dump + +Patch 8.2.4347 +Problem: In some build setups UNUSED is not defined. +Solution: Change the logic of how UNUSED is defined. (Ola Söder, + closes #9734) +Files: src/vim.h + +Patch 8.2.4348 +Problem: "legacy exe cmd" does not do what one would expect. +Solution: Apply the "legacy" and "vim9script" command modifiers to the + argument of ":execute". +Files: runtime/doc/vim9.txt, src/globals.h, src/eval.c, src/ex_docmd.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.4349 +Problem: FileChangedShell test fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_filechanged.vim + +Patch 8.2.4350 +Problem: FEAT_GUI_ENABLED defined but never used. +Solution: Remove the #define. (Ola Söder, closes #9732) +Files: src/vim.h + +Patch 8.2.4351 +Problem: No coverage is measured on MS-Windows CI. +Solution: Enable coverage on MS-Windows. (Ozaki Kiichi, closes #9750) +Files: .github/workflows/ci.yml + +Patch 8.2.4352 +Problem: ReScript files are not recognized. +Solution: Add the *.res and *.resi patterns. (Ananda Umamil, closes #9752) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4353 +Problem: CI does not use the latest Lua and Python. +Solution: Use Lua 5.4.2 and Python 3.10. (closes #9744) +Files: .github/workflows/ci.yml + +Patch 8.2.4354 +Problem: Dynamic loading of libsodium not handled properly. +Solution: Fix has() and :version. Show an error message when loading fails. + Fix memory leaks. (Ken Takata, closes #9754) +Files: src/crypt.c, src/evalfunc.c, src/gui_dwrite.cpp, src/if_cscope.c, + src/os_win32.c, src/proto/crypt.pro, src/proto/os_win32.pro, + src/version.c + +Patch 8.2.4355 +Problem: Unnecessary call to check_colorcolumn(). +Solution: Remove the call. (Sean Dewar, closes #9748) +Files: src/option.c, src/window.c + +Patch 8.2.4356 +Problem: Command line completion functions are very long. +Solution: Refactor into multiple functions. (Yegappan Lakshmanan, + closes #9753) +Files: src/cmdexpand.c + +Patch 8.2.4357 (after 8.2.4348) +Problem: sticky command modifiers are too sticky. +Solution: Do not apply command modifiers to a sourced script. (closes #9751) +Files: src/scriptfile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4358 +Problem: Vim9: line number of exception is not set. +Solution: Set the line number before throwing an exception. (closes #9755) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4359 +Problem: crash when repeatedly using :retab. +Solution: Bail out when the line is getting too long. +Files: src/indent.c, src/testdir/test_retab.vim + +Patch 8.2.4360 +Problem: Vim9: allowing use of "s:" leads to inconsistencies. +Solution: Disallow using "s:" in Vim9 script at the script level. +Files: src/userfunc.c, src/proto/userfunc.pro, src/errors.h, + src/vim9compile.c, src/eval.c, src/testdir/vim9.vim, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4361 (after 8.2.4360) +Problem: Vim9: some tests fail. +Solution: Fix the tests, mostly by removing "s:". +Files: src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.4362 +Problem: :retab may allocate too much memory. +Solution: Bail out when allocating more than MAXCOL bytes. +Files: src/indent.c + +Patch 8.2.4363 +Problem: MS-Windows: running out of memory for a very long line. +Solution: Use a 32 bit value for MAXCOL also when ints are 64 bits. +Files: src/vim.h + +Patch 8.2.4364 +Problem: MS-Windows: still running out of memory for a very long line. +Solution: Check for negative length. +Files: src/indent.c + +Patch 8.2.4365 (after 8.2.4348) +Problem: sticky command modifiers are too sticky. +Solution: Do not apply command modifiers to a called function. (closes #9751) +Files: src/userfunc.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4366 +Problem: Not enough tests for command line completion. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #9760) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.4367 +Problem: Calling in_vim9script() multiple times. +Solution: Call it once and keep the result. +Files: src/userfunc.c, src/eval.c + +Patch 8.2.4368 +Problem: Amiga: a few compiler warnings. +Solution: Adjust #ifdefs. Add "UNUSED". (Ola Söder, closes #9756, + closes #9757) +Files: src/term.c, src/os_amiga.c + +Patch 8.2.4369 +Problem: Redundant #ifdef argument. +Solution: Remove unused MSWIN. (Ola Söder, closes #9758) +Files: src/feature.h + +Patch 8.2.4370 +Problem: MS-Windows: libsodium.dll not included with the installer. +Solution: Add the file to the installer if it exists. (Christian Brabandt, + closes #9762) +Files: nsis/gvim.nsi + +Patch 8.2.4371 +Problem: Vim9: can create a script variable from a legacy function. +Solution: Disallow creating a script variable from a function. +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4372 +Problem: Filetype detection from file contents is in legacy script. +Solution: Use a compiled function for filetype detection. +Files: runtime/scripts.vim, runtime/autoload/dist/script.vim + +Patch 8.2.4373 +Problem: Expression test fails. +Solution: Make the test work with latest Vim9 syntax. +Files: src/testdir/test_expr.vim + +Patch 8.2.4374 +Problem: Unreachable code. +Solution: Remove outdated code lines. +Files: src/vim9compile.c + +Patch 8.2.4375 +Problem: ctx_imports is not used. +Solution: Delete ctx_imports. Add missing dependency. +Files: src/vim9.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/evalfunc.c, src/evalvars.c, src/userfunc.c, + src/vim9expr.c, src/vim9script.c, src/Makefile + +Patch 8.2.4376 +Problem: Not enough tests for command line completion. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #9771) +Files: src/testdir/test_cmdline.vim, src/testdir/test_usercommands.vim + +Patch 8.2.4377 +Problem: CI steps for Windows are a bit unorganized. +Solution: Organize CI test steps on Windows. (Ozaki Kiichi, closes #9764) +Files: .github/workflows/ci.yml + +Patch 8.2.4378 +Problem: Incsearch highlight broken when calling searchcount() in 'tabLine' + function. (Mirko Palmer) +Solution: Save and restore the incsearch state. (Christian Brabandt, + closes #9763, closes #9633) +Files: src/search.c, src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstat_inc_1.dump, + src/testdir/dumps/Test_searchstat_inc_2.dump, + src/testdir/dumps/Test_searchstat_inc_3.dump + +Patch 8.2.4379 +Problem: An empty change is reported to a listener. +Solution: Do not report an empty change. (closes #9768) Remove unused + return value. +Files: src/undo.c, src/change.c, src/testdir/test_listener.vim + +Patch 8.2.4380 +Problem: Small differences between Chinese translation files. +Solution: Add rule for converting UTF-8 to gb2312. (closes #9773) +Files: src/po/Makefile, src/po/Make_all.mak + +Patch 8.2.4381 (after 8.2.4380) +Problem: Translation file listed twice. +Solution: Remove one entry. +Files: src/po/Make_all.mak + +Patch 8.2.4382 (after 8.2.4346) +Problem: A custom 'tabline' may cause Esc to work like Enter on the + command line when the popup menu is displayed. +Solution: Save and restore KeyTyped. (closes #9776) +Files: src/drawscreen.c, src/screen.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_40.dump + +Patch 8.2.4383 +Problem: Vim9: unused code lines. +Solution: Rely on either "cctx" or "cstack" to not be NULL. +Files: src/vim9compile.c + +Patch 8.2.4384 +Problem: Vim9: error message not tested, some code not tested. +Solution: Add a couple of test cases. Give an error for a command modifier + without a command. +Files: src/errors.h, src/vim9compile.c, src/ex_docmd.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4385 (after 8.2.4384) +Problem: Cannot build tiny version. +Solution: Adjust #ifdefs. +Files: src/errors.h + +Patch 8.2.4386 (after 8.2.4384) +Problem: Still cannot build tiny version. +Solution: Adjust #ifdefs. +Files: src/ex_docmd.c + +Patch 8.2.4387 +Problem: Command line completion doesn't always work properly. +Solution: Adjust triggering after a "|". Add more tests. (Yegappan + Lakshmanan, closes #9779) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4388 +Problem: Dead code in op_insert(). +Solution: Remove condition and else block. (closes #9782) +Files: src/ops.c + +Patch 8.2.4389 +Problem: screenpos() does not handle a position in a closed fold. +Solution: Check if the position is inside a closed fold. (closes #9778) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.4390 +Problem: Vim9: list from declaration with inferred type does not set the + type on the value. +Solution: When inferring the type in a variable declaration also set the + type of the list or dictionary. (closes #9705) Do not set the + type when the member is "any". +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4391 +Problem: Command line executed when typing Esc in the GUI. +Solution: Move saving/restoring KeyTyped to build_stl_str_hl(). + (closes #9783) +Files: src/buffer.c, src/screen.c + +Patch 8.2.4392 (after 8.2.4002) +Problem: MS-Windows with VIMDLL: Escaping CSI is wrong. +Solution: Put back #ifdef. (Ken Takata, closes #9769) +Files: src/getchar.c + +Patch 8.2.4393 +Problem: Possible number overflow with nested folds. +Solution: Avoid a negative line number. +Files: src/fold.c + +Patch 8.2.4394 (after 8.2.4392) +Problem: UTF8 select mode test fails on MS-Windows. +Solution: Revert the #ifdef change. +Files: src/getchar.c + +Patch 8.2.4395 +Problem: Some code lines not covered by tests. +Solution: Add a few more test cases. Fix getting more than one error for + invalid assignment. +Files: src/evalvars.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4396 (after 8.2.4395) +Problem: Python3 test fails. +Solution: Remove "let". +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.4397 +Problem: Crash when using many composing characters in error message. +Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv(). +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.4398 +Problem: Some command completion functions are too long. +Solution: Refactor code into separate functions. Add a few more tests. + (Yegappan Lakshmanan, closes #9785) +Files: src/cmdexpand.c, src/ex_getln.c, src/usercmd.c, + src/proto/usercmd.pro, src/testdir/test_cmdline.vim + +Patch 8.2.4399 +Problem: Crash after ml_get error. +Solution: When returning "???" flush the line and set ml_line_lnum. +Files: src/memline.c + +Patch 8.2.4400 (after 8.2.4394) +Problem: MS-Windows: cannot use the mouse in the console with VIMDLL. +Solution: use add_char2buf() instead of fix_input_buffer(). (closes #9784, + closes #9769) +Files: src/getchar.c + +Patch 8.2.4401 +Problem: Map listing does not clear the rest of the command line. +Solution: Call msg_clear_eos(). (closes #5623, closes #5962) +Files: src/map.c, src/testdir/test_mapping.vim, + src/testdir/dumps/Test_map_list_1.dump + +Patch 8.2.4402 +Problem: Missing parenthesis may cause unexpected problems. +Solution: Add more parenthesis is macros. (closes #9788) +Files: src/autocmd.c, src/charset.c, src/drawline.c, src/drawscreen.c, + src/evalfunc.c, src/fileio.c, src/fold.c, src/getchar.c, + src/highlight.c, src/memline.c, src/normal.c, src/quickfix.c, + src/regexp.c, src/search.c, src/sha256.c, src/spell.c, + src/spellfile.c, src/spellsuggest.c, src/syntax.c, src/window.c + +Patch 8.2.4403 +Problem: ml_get error with nested folds and deleting lines. +Solution: Correct the last line number before calling hasFoldingWin(). +Files: src/change.c + +Patch 8.2.4404 +Problem: Vim9: some code not covered by tests. +Solution: Add a few specific test cases. +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim + +Patch 8.2.4405 +Problem: Compiler warning for unused variable without the +folding feature. + (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/change.c + +Patch 8.2.4406 +Problem: Expand functions use confusing argument names. +Solution: Rename "file" to "match". Refactor some completion code. Add a + few more tests. (Yegappan Lakshmanan, closes #9790) +Files: src/cmdexpand.c, src/testdir/test_usercommands.vim + +Patch 8.2.4407 +Problem: Vim9: some code not covered by tests. +Solution: Add more tests. Avoid giving two errors. Remove dead code. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.4408 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more tests. Correct error message. Allow unlet on dict + with a number key. +Files: src/vim9execute.c, src/errors.h, src/testdir/test_vim9_assign.vim + +Patch 8.2.4409 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more tests. Fix reported line number. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4410 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more tests. Remove dead code. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.4411 +Problem: Bicep files are not recognized. +Solution: Match *.bicep files. (Dundar Goc, closes #9791) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4412 +Problem: Translation cleanup script does not remove empty lines at end. +Solution: Remove empty lines at the end. (Ken Takata, closes #9794) +Files: src/po/cleanup.vim + +Patch 8.2.4413 +Problem: Vim9: Coverity warns for using NULL pointer. +Solution: Give an internal error when funcref function can't be found. +Files: src/vim9execute.c + +Patch 8.2.4414 +Problem: Solidity files are not recognized. +Solution: Add the *.sol pattern. (Dundar Goc, closes #9792) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4415 +Problem: Function argument name conflicts with C++ keyword. +Solution: Rename the argument. +Files: src/usercmd.c, src/proto/usercmd.pro + +Patch 8.2.4416 +Problem: Vim9: using a script-local function requires using "s:" when + setting 'completefunc'. +Solution: Do not require "s:" in Vim9 script. (closes #9796) +Files: runtime/doc/options.txt, src/userfunc.c, + src/testdir/test_ins_complete.vim + +Patch 8.2.4417 (after 8.2.4416) +Problem: Using NULL pointer. +Solution: Set offset after checking for NULL pointer. +Files: src/userfunc.c + +Patch 8.2.4418 +Problem: Crash when using special multi-byte character. +Solution: Don't use isalpha() for an arbitrary character. +Files: src/charset.c, src/proto/charset.pro, src/filepath.c, + src/testdir/test_autochdir.vim + +Patch 8.2.4419 +Problem: Illegal memory access when using exactly 20 highlights. +Solution: Add one more item in the array. (Brandon Richardson, + closes #9800) +Files: src/buffer.c, src/testdir/test_tabline.vim + +Patch 8.2.4420 +Problem: Menu translations are inconsistent. +Solution: Add a Makefile to convert between encodings. (Ada (Haowen) Yu, + closes #9801) +Files: runtime/lang/Makefile, runtime/lang/menu_af_af.latin1.vim, + runtime/lang/menu_ca_es.latin1.vim, + runtime/lang/menu_chinese_gb.936.vim, + runtime/lang/menu_chinese_taiwan.950.vim, + runtime/lang/menu_cs_cz.iso_8859-2.vim, + runtime/lang/menu_cs_cz.utf-8.vim, + runtime/lang/menu_czech_czech_republic.1250.vim, + runtime/lang/menu_czech_czech_republic.ascii.vim, + runtime/lang/menu_da.utf-8.vim, + runtime/lang/menu_de_de.latin1.vim, + runtime/lang/menu_eo.utf-8.vim, + runtime/lang/menu_es_es.latin1.vim, + runtime/lang/menu_fi_fi.latin1.vim, + runtime/lang/menu_fr_fr.latin1.vim, + runtime/lang/menu_hu_hu.iso_8859-2.vim, + runtime/lang/menu_hu_hu.utf-8.vim, + runtime/lang/menu_is_is.latin1.vim, + runtime/lang/menu_it_it.latin1.vim, + runtime/lang/menu_ja_jp.euc-jp.vim, + runtime/lang/menu_ja_jp.utf-8.vim, + runtime/lang/menu_japanese_japan.932.vim, + runtime/lang/menu_ko_kr.euckr.vim, + runtime/lang/menu_ko_kr.utf-8.vim, + runtime/lang/menu_nl_nl.latin1.vim, + runtime/lang/menu_no_no.latin1.vim, + runtime/lang/menu_pl_pl.iso_8859-2.vim, + runtime/lang/menu_pl_pl.utf-8.vim, + runtime/lang/menu_polish_poland.1250.vim, + runtime/lang/menu_pt_br.vim, runtime/lang/menu_pt_pt.vim, + runtime/lang/menu_ru.utf-8.vim, + runtime/lang/menu_ru_ru.koi8-r.vim, + runtime/lang/menu_ru_ru.utf-8.vim, runtime/lang/menu_ru_ru.vim, + runtime/lang/menu_sk_sk.iso_8859-2.vim, + runtime/lang/menu_sl_si.cp1250.vim, + runtime/lang/menu_sl_si.latin2.vim, + runtime/lang/menu_sl_si.utf-8.vim, + runtime/lang/menu_slovak_slovak_republic.1250.vim, + runtime/lang/menu_sr_rs.ascii.vim, + runtime/lang/menu_sr_rs.iso_8859-2.vim, + runtime/lang/menu_sr_rs.iso_8859-5.vim, + runtime/lang/menu_sr_rs.utf-8.vim, + runtime/lang/menu_sv_se.latin1.vim, + runtime/lang/menu_tr_tr.cp1254.vim, + runtime/lang/menu_tr_tr.iso_8859-9.vim, + runtime/lang/menu_tr_tr.utf-8.vim, + runtime/lang/menu_uk_ua.cp1251.vim, + runtime/lang/menu_uk_ua.koi8-u.vim, + runtime/lang/menu_uk_ua.utf-8.vim, runtime/lang/menu_vi_vn.vim, + runtime/lang/menu_zh_cn.utf-8.vim, + runtime/lang/menu_zh_tw.utf-8.vim + +Patch 8.2.4421 +Problem: Some installed files and directories have wrong permissions. +Solution: Adjust the Makefile and shell to set permissions. (closes #9793) +Files: src/Makefile, src/installman.sh + +Patch 8.2.4422 +Problem: Autochdir test fails on MS-Windows. +Solution: Expecta nother error on MS-Windows. +Files: src/testdir/test_autochdir.vim + +Patch 8.2.4423 +Problem: "make nvcmdidxs" fails. +Solution: Use "-S" instead of "-u" to source the script. +Files: src/Makefile + +Patch 8.2.4424 +Problem: ".gts" and ".gjs" files are not recognized. +Solution: Recognize Glimmer flavored typescript and javascript. + (closes #9799) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4425 +Problem: map() function does not check function arguments at compile time. +Solution: Give an error if the arguments of a map() function are wrong. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4426 +Problem: map() function on string and blob does not check argument types at + compile time. +Solution: Check string and blob argument types. Support "0z1234->func()". +Files: src/vim9compile.c, src/evalfunc.c, src/ex_docmd.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4427 +Problem: getchar() may return modifiers if no character is available. +Solution: Do not process modifiers when there is no character. (closes #9806) +Files: src/getchar.c, src/testdir/test_functions.vim + +Patch 8.2.4428 +Problem: Crash when switching tabpage while in the cmdline window. +Solution: Disallow switching tabpage when in the cmdline window. +Files: src/window.c, src/proto/window.pro, src/evalvars.c, + src/evalvars.c, src/usercmd.c + +Patch 8.2.4429 +Problem: Using script-local function from the wrong script when using a + partial. (Yegappan Lakshmanan) +Solution: Include the script ID in the partial name. +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/vim9type.c, src/testdir/test_vim9_import.vim + + + + + + + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt index a5bcb3f44..385238bfb 100644 --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -1,4 +1,4 @@ -*vim9.txt* For Vim version 8.2. Last change: 2022 Feb 22 +*vim9.txt* For Vim version 8.2. Last change: 2022 Feb 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -229,8 +229,17 @@ script "export" needs to be used. > < *E1058* *E1075* When using `:function` or `:def` to specify a nested function inside a `:def` function and no namespace was given, this nested function is local to the code -block it is defined in. It is not possible to define a script-local function. -It is possible to define a global function by using the "g:" prefix. +block it is defined in. It cannot be used in `function()` with a string +argument, pass the function reference itself: > + def Outer() + def Inner() + echo 'inner' + enddef + var Fok = function(Inner) # OK + var Fbad = function('Inner') # does not work + +It is not possible to define a script-local function. It is possible to +define a global function by using the "g:" prefix. When referring to a function and no "s:" or "g:" prefix is used, Vim will search for the function: diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index 2906298bf..2e0d19b96 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -473,7 +473,7 @@ These commands can also be executed with ":wincmd": the |CursorHold| autocommand event). Or when a Normal mode command is inconvenient. The count can also be a window number. Example: > - :exe nr . "wincmd w" + :exe nr .. "wincmd w" < This goes to window "nr". ============================================================================== @@ -964,12 +964,12 @@ CTRL-W g } *CTRL-W_g}* cursor. This is less clever than using |:ptag|, but you don't need a tags file and it will also find matches in system include files. Example: > - :au! CursorHold *.[ch] ++nested exe "silent! psearch " . expand("<cword>") + :au! CursorHold *.[ch] ++nested exe "silent! psearch " .. expand("<cword>") < Warning: This can be slow. Example *CursorHold-example* > - :au! CursorHold *.[ch] ++nested exe "silent! ptag " . expand("<cword>") + :au! CursorHold *.[ch] ++nested exe "silent! ptag " .. expand("<cword>") This will cause a ":ptag" to be executed for the keyword under the cursor, when the cursor hasn't moved for the time set with 'updatetime'. The "nested" @@ -992,14 +992,14 @@ is no word under the cursor, and a few other things: > : : " Delete any existing highlight before showing another tag : silent! wincmd P " jump to preview window - : if &previewwindow " if we really get there... + : if &previewwindow " if we really get there... : match none " delete existing highlight : wincmd p " back to old window : endif : : " Try displaying a matching tag for the word under the cursor : try - : exe "ptag " . w + : exe "ptag " .. w : catch : return : endtry @@ -1011,10 +1011,10 @@ is no word under the cursor, and a few other things: > : endif : call search("$", "b") " to end of previous line : let w = substitute(w, '\\', '\\\\', "") - : call search('\<\V' . w . '\>') " position cursor on match + : call search('\<\V' .. w .. '\>') " position cursor on match : " Add a match highlight to the word at this position : hi previewWord term=bold ctermbg=green guibg=green - : exe 'match previewWord "\%' . line(".") . 'l\%' . col(".") . 'c\k*"' + : exe 'match previewWord "\%' .. line(".") .. 'l\%' .. col(".") .. 'c\k*"' : wincmd p " back to old window : endif : endif diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim index 733584a67..e1b7876ba 100644 --- a/runtime/indent/vim.vim +++ b/runtime/indent/vim.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Vim script " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2021 Nov 27 +" Last Change: 2022 Feb 23 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -10,7 +10,7 @@ endif let b:did_indent = 1 setlocal indentexpr=GetVimIndent() -setlocal indentkeys+==end,=},=else,=cat,=finall,=END,0\\,0=\"\\\ +setlocal indentkeys+==endif,=enddef,=endfu,=endfor,=endwh,=endtry,=},=else,=cat,=finall,=END,0\\,0=\"\\\ setlocal indentkeys-=0# setlocal indentkeys-=: @@ -103,8 +103,9 @@ function GetVimIndentIntern() " A line starting with :au does not increment/decrement indent. " A { may start a block or a dict. Assume that when a } follows it's a " terminated dict. + " ":function" starts a block but "function(" doesn't. if prev_text !~ '^\s*au\%[tocmd]' && prev_text !~ '^\s*{.*}' - let i = match(prev_text, '\(^\||\)\s*\(export\s\+\)\?\({\|\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\|finall\%[y]\|fu\%[nction]\|def\|el\%[seif]\)\>\)') + let i = match(prev_text, '\(^\||\)\s*\(export\s\+\)\?\({\|\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\|finall\%[y]\|def\|el\%[seif]\)\>\|fu\%[nction]\s\)') if i >= 0 let ind += shiftwidth() if strpart(prev_text, i, 1) == '|' && has('syntax_items') @@ -170,10 +171,15 @@ function GetVimIndentIntern() let ind = ind + shiftwidth() endif - " Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry, - " :endfun, :enddef, :else and :augroup END. - if cur_text =~ '^\s*\(ene\@!\|cat\|finall\|el\|aug\%[roup]\s\+[eE][nN][dD]\)' + " Subtract a 'shiftwidth' on a :endif, :endwhile, :endfor, :catch, :finally, + " :endtry, :endfun, :enddef, :else and :augroup END. + " Although ":en" would be enough only match short command names as in + " 'indentkeys'. + if cur_text =~ '^\s*\(endif\|endwh\|endfor\|endtry\|endfu\|enddef\|cat\|finall\|else\|aug\%[roup]\s\+[eE][nN][dD]\)' let ind = ind - shiftwidth() + if ind < 0 + let ind = 0 + endif endif return ind |