# HG changeset patch # User Bram Moolenaar # Date 1575133205 -3600 # Node ID 82a28df1e2d5515b729269645ff428b5e8557ded # Parent 8217e179eb58e6320c75ea57dc5a8927f602ee19 Update runtime files. Commit: https://github.com/vim/vim/commit/91359014b359cf816bf943fe2c7d492996263def Author: Bram Moolenaar Date: Sat Nov 30 17:57:03 2019 +0100 Update runtime files. diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,7 +1,7 @@ " netrw.vim: Handles file transfer and remote directory listing across " AUTOLOAD SECTION -" Date: Nov 06, 2019 -" Version: 166 +" Date: Nov 29, 2019 +" Version: 167 " Maintainer: Charles E Campbell " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 2016 Charles E. Campbell {{{1 @@ -13,6 +13,10 @@ " expressed or implied. By using this plugin, you agree that " in no event will the copyright holder be liable for any damages " resulting from the use of this software. +" +" Note: the code here was started in 1999 under a much earlier version of vim. The directory browsing +" code was written using vim v6, which did not have Lists (Lists were first offered with vim-v7). +" "redraw!|call DechoSep()|call inputsave()|call input("Press to continue")|call inputrestore() " " But be doers of the Word, and not only hearers, deluding your own selves {{{1 @@ -39,7 +43,7 @@ if exists("s:needspatches") endfor endif -let g:loaded_netrw = "v166" +let g:loaded_netrw = "v167" if !exists("s:NOTE") let s:NOTE = 0 let s:WARNING = 1 @@ -1535,7 +1539,8 @@ fun! netrw#Obtain(islocal,fname,...) " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + " Note: using "_dd to delete to the black hole register; avoids messing up @@ + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" @@ -2203,7 +2208,7 @@ fun! netrw#NetRead(mode,...) " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" @@ -2303,7 +2308,7 @@ fun! netrw#NetRead(mode,...) NetrwKeepj put ='quit' " perform cadaver operation: - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd) keepj bd! endif @@ -2619,7 +2624,7 @@ fun! netrw#NetWrite(...) range " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" @@ -2685,7 +2690,7 @@ fun! netrw#NetWrite(...) range NetrwKeepj put ='put '.tmpfile.' '.netrw_fname " perform cadaver operation: - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd) " remove enew buffer (quietly) @@ -4367,7 +4372,7 @@ fun! s:NetrwGetWord() let curline= getline('.') if curline =~# '"\s*Sorted by\s' - NetrwKeepj norm! s + NetrwKeepj norm! "_s let s:netrw_skipbrowse= 1 echo 'Pressing "s" also works' @@ -5207,13 +5212,26 @@ endfun " 0=local, 1=remote fun! netrw#BrowseX(fname,remote) let use_ctrlo= 1 -" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.")") - - " if its really just a local directory, then do a "gf" instead - if (a:remote == 0 && isdirectory(a:fname)) || (a:remote == 1 && a:fname =~ '/$' && a:fname !~ '^https\=:') +" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.") implements x and gx maps") + + if a:remote == 0 && isdirectory(a:fname) + " if its really just a local directory, then do a "gf" instead +" call Decho("remote≡0 and a:fname<".a:fname."> ".(isdirectory(a:fname)? "is a directory" : "is not a directory"),'~'.expand("")) +" call Decho("..appears to be a local directory; using gf instead",'~'.expand("")) norm! gf -" call Dret("(netrw#BrowseX) did gf instead") - endif +" call Dret("netrw#BrowseX") + return + elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$' + " remote directory, not a webpage access, looks like an attempt to do a directory listing +" call Decho("remote≡1 and a:fname<".a:fname.">",'~'.expand("")) +" call Decho("..and fname ".((a:fname =~ '^https\=:')? 'matches' : 'does not match').'^https\=:','~'.expand("")) +" call Decho("..and fname ".((a:fname =~ '/$')? 'matches' : 'does not match').' /$','~'.expand("")) +" call Decho("..appears to be a remote directory listing request; using gf instead",'~'.expand("")) + norm! gf +" call Dret("netrw#BrowseX") + return + endif +" call Decho("not a local file nor a webpage request",'~'.expand("")) let ykeep = @@ let screenposn = winsaveview() @@ -5467,11 +5485,11 @@ endfun " netrw#BrowseXVis: used by gx in visual mode to select a file for browsing {{{2 fun! netrw#BrowseXVis() " call Dfunc("netrw#BrowseXVis()") - let atkeep = @@ - norm! gvy -" call Decho("@@<".@@.">",'~'.expand("")) - call netrw#BrowseX(@@,netrw#CheckIfRemote(@@)) - let @@ = atkeep + let akeep = @a + norm! gv"ay + let gxfile= @a + let @a = akeep + call netrw#BrowseX(gxfile,netrw#CheckIfRemote(gxfile)) " call Dret("netrw#BrowseXVis") endfun @@ -6091,8 +6109,8 @@ fun! s:NetrwSLeftrelease(islocal) endfun " --------------------------------------------------------------------- -" s:NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2 -" separated patterns given in g:netrw_list_hide +" s:NetrwListHide: uses [range]g~...~d to delete files that match {{{2 +" comma-separated patterns given in g:netrw_list_hide fun! s:NetrwListHide() " call Dfunc("s:NetrwListHide() g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">") " call Decho("initial: ".string(getline(w:netrw_bannercnt,'$'))) @@ -6105,8 +6123,8 @@ fun! s:NetrwListHide() " Use the first character left as a separator character. " call Decho("find a character not in the hide string to use as a separator") let listhide= g:netrw_list_hide - let sep = strpart(substitute('/~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1) -" call Decho("sep=".sep,'~'.expand("")) + let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1) +" call Decho("sep=".sep," (sep not in hide string)'~'.expand("")) while listhide != "" if listhide =~ ',' @@ -6116,10 +6134,19 @@ fun! s:NetrwListHide() let hide = listhide let listhide = "" endif -" call Decho("hide<".hide."> listhide<".listhide.'>','~'.expand("")) +" call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("")) + if g:netrw_sort_by =~ '^[ts]' + if hide =~ '^\^' +" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("")) + let hide= substitute(hide,'^\^','^\(\\d\\+/\)','') + elseif hide =~ '^\\(\^' + let hide= substitute(hide,'^\\(\^','\\(^\\(\\d\\+/\\)','') + endif +" call Decho("..hide<".hide."> listhide<".listhide.'>','~'.expand("")) + endif " Prune the list by hiding any files which match -" call Decho("prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">") +" call Decho("..prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">") if g:netrw_hide == 1 " call Decho("..hiding<".hide.">",'~'.expand("")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d' @@ -6664,9 +6691,9 @@ fun! s:NetrwMarkFiles(islocal,...) while i <= a:0 if a:islocal if v:version > 704 || (v:version == 704 && has("patch656")) - let mffiles= glob(fnameescape(a:{i}),0,1,1) - else - let mffiles= glob(fnameescape(a:{i}),0,1) + let mffiles= glob(a:{i},0,1,1) + else + let mffiles= glob(a:{i},0,1) endif else let mffiles= [a:{i}] @@ -8718,7 +8745,7 @@ fun! s:NetrwUpload(fname,tgt,...) " -i : turns off interactive prompting from ftp " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password - NetrwKeepj norm! 1Gdd + NetrwKeepj norm! 1G"_dd call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options) " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) sil NetrwKeepj g/Local directory now/d @@ -9556,12 +9583,14 @@ fun! s:NetrwWideListing() " fpl: filenames per line " fpc: filenames per column setl ma noro + let keepa= @a " call Decho("setl ma noro",'~'.expand("")) let b:netrw_cpf= 0 if line("$") >= w:netrw_bannercnt exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif' NetrwKeepj call histdel("/",-1) else + let @a= keepa " call Dret("NetrwWideListing") return endif @@ -9593,9 +9622,9 @@ fun! s:NetrwWideListing() let newcolqty= newcolend - newcolstart exe newcolstart if newcolqty == 0 - exe "sil! NetrwKeepj norm! 0\$hx".w:netrw_bannercnt."G$p" - else - exe "sil! NetrwKeepj norm! 0\".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p' + exe "sil! NetrwKeepj norm! 0\$h\"ax".w:netrw_bannercnt."G$\"ap" + else + exe "sil! NetrwKeepj norm! 0\".newcolqty.'j$h\"ax'.w:netrw_bannercnt.'G$\"ap' endif exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _' exe 'sil! NetrwKeepj '.w:netrw_bannercnt @@ -9611,6 +9640,7 @@ fun! s:NetrwWideListing() exe 'nno b :call search(''^.\\|\s\s\zs\S'',''bW'')'."\" " call Decho("NetrwWideListing) setl noma nomod ro",'~'.expand("")) exe "setl ".g:netrw_bufsettings + let @a= keepa " call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("")) " call Dret("NetrwWideListing") return @@ -9808,6 +9838,7 @@ fun! s:PerformListing(islocal) exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options endif endif + " remove priority pattern prefix " call Decho("remove priority pattern prefix",'~'.expand("")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e' @@ -9846,6 +9877,7 @@ fun! s:PerformListing(islocal) " call Decho('exe sil NetrwKeepj '.w:netrw_bannercnt.',$sort!','~'.expand("")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options endif +" call Decho("remove leading digits/ (sorting) information from listing",'~'.expand("")) exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e' NetrwKeepj call histdel("/",-1) endif @@ -9908,6 +9940,7 @@ fun! s:PerformListing(islocal) " call Decho("exe setl ts=".(g:netrw_maxfilenamelen+1),'~'.expand("")) exe "setl ts=".(g:netrw_maxfilenamelen+1) endif +" call Decho("PerformListing buffer:",'~'.expand("")) " call DechoBuf(bufnr("%")) if exists("s:treecurpos") @@ -10943,10 +10976,11 @@ fun! s:LocalListing() if g:netrw_sort_by =~# "^t" " sort by time (handles time up to 1 quintillion seconds, US) + " Decorate listing by prepending a timestamp/ . Sorting will then be done based on time. " call Decho("getftime(".filename.")=".getftime(filename),'~'.expand("")) let t = getftime(filename) let ft = strpart("000000000000000000",1,18-strlen(t)).t -" call Decho("exe NetrwKeepj put ='".ft.'/'.filename."'",'~'.expand("")) +" call Decho("exe NetrwKeepj put ='".ft.'/'.pfile."'",'~'.expand("")) let ftpfile= ft.'/'.pfile sil! NetrwKeepj put=ftpfile diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21 +*if_pyth.txt* For Vim version 8.1. Last change: 2019 Nov 29 VIM REFERENCE MANUAL by Paul Moore @@ -767,17 +767,28 @@ match the Python 2.x or Python 3 version 10. Python 3 *python3* *:py3* *:python3* -The `:py3` and `:python3` commands work similar to `:python`. A simple check -if the `:py3` command is working: > - :py3 print("Hello") +:[range]py3 {stmt} +:[range]py3 << [endmarker] +{script} +{endmarker} -To see what version of Python you have: > - :py3 import sys - :py3 print(sys.version) +:[range]python3 {stmt} +:[range]python3 << [endmarker] +{script} +{endmarker} + The `:py3` and `:python3` commands work similar to `:python`. A + simple check if the `:py3` command is working: > + :py3 print("Hello") +< + To see what version of Python you have: > + :py3 import sys + :py3 print(sys.version) < *:py3file* -The `:py3file` command works similar to `:pyfile`. +:[range]py3f[ile] {file} + The `:py3file` command works similar to `:pyfile`. *:py3do* -The `:py3do` command works similar to `:pydo`. +:[range]py3do {body} + The `:py3do` command works similar to `:pydo`. Vim can be built in four ways (:version output): diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1147,7 +1147,7 @@ properties can be changed with |popup_se *complete-popuphidden* If the information for the popup is obtained asynchronously, use "popuphidden" -in 'completeopt'. The info popup will then be initally hidden and +in 'completeopt'. The info popup will then be initially hidden and |popup_show()| must be called once it has been filled with the info. This can be done with a |CompleteChanged| autocommand, something like this: > set completeopt+=popuphidden diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Nov 14 +*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Nov 30 ------------------------------------------------ NETRW REFERENCE MANUAL by Charles E. Campbell @@ -1184,7 +1184,7 @@ One may easily "bookmark" the currently *.netrwbook* Bookmarks are retained in between sessions of vim in a file called .netrwbook as a |List|, which is typically stored in the first directory on the user's -'runtimepath'; entries are kept in sorted order. +|'runtimepath'|; entries are kept in sorted order. If there are marked files and/or directories, mb will add them to the bookmark list. @@ -3842,6 +3842,16 @@ netrw: ============================================================================== 12. History *netrw-history* {{{1 + v167: Nov 29, 2019 * netrw does a save&restore on @* and @+. + That causes problems with the clipboard. + Now restores occurs only if @* or @+ have + been changed. + * netrw will change @* or @+ less often. + Never if I happen to have caught all the + operations that modify the unnamed + register (which also writes @*). + * Modified hiding behavior so that "s" + will not ignore hiding. v166: Nov 06, 2019 * Removed a space from a nmap for "-" * Numerous debugging statement changes v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel') diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt --- a/runtime/doc/popup.txt +++ b/runtime/doc/popup.txt @@ -1,10 +1,10 @@ -*popup.txt* For Vim version 8.1. Last change: 2019 Nov 17 +*popup.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar -Displaying text in a floating window. *popup* *popup-window* +Displaying text in a floating window. *popup* *popup-window* *popupwin* 1. Introduction |popup-intro| diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -1,4 +1,4 @@ -*sign.txt* For Vim version 8.1. Last change: 2019 Nov 12 +*sign.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Gordon Prieur @@ -71,8 +71,6 @@ placed in the named group. The sign iden sign group allows Vim plugins to use unique signs without interfering with other plugins using signs. -The group name "popupmenu" is used by popup windows where 'cursorline' is set. - To place a sign in a popup window the group name must start with "PopUp". Other signs will not show in a popup window. The group name "PopUpMenu" is used by popup windows where 'cursorline' is set. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 8.1. Last change: 2019 Nov 20 +*syntax.txt* For Vim version 8.1. Last change: 2019 Nov 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -966,10 +966,12 @@ Basic. C *c.vim* *ft-c-syntax* A few things in C highlighting are optional. To enable them assign any value -to the respective variable. Example: > +(including zero) to the respective variable. Example: > :let c_comment_strings = 1 -To disable them use ":unlet". Example: > + :let c_no_bracket_error = 0 +To disable them use `:unlet`. Example: > :unlet c_comment_strings +Setting the value to zero doesn't work! An alternative is to switch to the C++ highlighting: > :set filetype=cpp @@ -985,8 +987,8 @@ Variable Highlight ~ except { and } in first column Default is to highlight them, otherwise you can't spot a missing ")". -*c_curly_error* highlight a missing }; this forces syncing from the - start of the file, can be slow +*c_curly_error* highlight a missing } by finding all pairs; this + forces syncing from the start of the file, can be slow *c_no_ansi* don't do standard ANSI types and constants *c_ansi_typedefs* ... but do standard ANSI types *c_ansi_constants* ... but do standard ANSI constants diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -5285,6 +5285,7 @@ added-7.2 version7.txt /*added-7.2* added-7.3 version7.txt /*added-7.3* added-7.4 version7.txt /*added-7.4* added-8.1 version8.txt /*added-8.1* +added-8.2 version8.txt /*added-8.2* added-BeOS version5.txt /*added-BeOS* added-Mac version5.txt /*added-Mac* added-VMS version5.txt /*added-VMS* @@ -5651,6 +5652,7 @@ changed-7.2 version7.txt /*changed-7.2* changed-7.3 version7.txt /*changed-7.3* changed-7.4 version7.txt /*changed-7.4* changed-8.1 version8.txt /*changed-8.1* +changed-8.2 version8.txt /*changed-8.2* changelist motion.txt /*changelist* changelog.vim syntax.txt /*changelog.vim* changenr() eval.txt /*changenr()* @@ -8083,6 +8085,7 @@ new-options-5.4 version5.txt /*new-optio new-perl-python version5.txt /*new-perl-python* new-persistent-undo version7.txt /*new-persistent-undo* new-plugins version6.txt /*new-plugins* +new-popup-window version8.txt /*new-popup-window* new-posix version7.txt /*new-posix* new-print-multi-byte version7.txt /*new-print-multi-byte* new-printing version6.txt /*new-printing* @@ -8099,6 +8102,7 @@ new-spell version7.txt /*new-spell* new-style-testing testing.txt /*new-style-testing* new-tab-pages version7.txt /*new-tab-pages* new-terminal-window version8.txt /*new-terminal-window* +new-text-properties version8.txt /*new-text-properties* new-undo-branches version7.txt /*new-undo-branches* new-unlisted-buffers version6.txt /*new-unlisted-buffers* new-user-defined version5.txt /*new-user-defined* @@ -8109,6 +8113,7 @@ new-vim-script version7.txt /*new-vim-sc new-vim-script-8 version8.txt /*new-vim-script-8* new-vim-server version6.txt /*new-vim-server* new-vimgrep version7.txt /*new-vimgrep* +new-vimscript-8.2 version8.txt /*new-vimscript-8.2* new-virtedit version6.txt /*new-virtedit* news intro.txt /*news* nextnonblank() eval.txt /*nextnonblank()* @@ -8332,6 +8337,7 @@ popup_settext() popup.txt /*popup_settex popup_show() popup.txt /*popup_show()* popupmenu-completion insert.txt /*popupmenu-completion* popupmenu-keys insert.txt /*popupmenu-keys* +popupwin popup.txt /*popupwin* ports-5.2 version5.txt /*ports-5.2* ports-6 version6.txt /*ports-6* posix vi_diff.txt /*posix* @@ -9847,6 +9853,7 @@ version-7.3 version7.txt /*version-7.3* 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-variable eval.txt /*version-variable* version4.txt version4.txt /*version4.txt* version5.txt version5.txt /*version5.txt* @@ -9859,6 +9866,7 @@ version7.4 version7.txt /*version7.4* version7.txt version7.txt /*version7.txt* version8.0 version8.txt /*version8.0* version8.1 version8.txt /*version8.1* +version8.2 version8.txt /*version8.2* version8.txt version8.txt /*version8.txt* versionlong-variable eval.txt /*versionlong-variable* vi intro.txt /*vi* @@ -9874,6 +9882,7 @@ views-sessions starting.txt /*views-sess 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-additions vi_diff.txt /*vim-additions* vim-announce intro.txt /*vim-announce* vim-arguments starting.txt /*vim-arguments* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.1. Last change: 2019 Nov 26 +*todo.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,8 +38,6 @@ browser use: https://github.com/vim/vim/ *known-bugs* -------------------- Known bugs and current work ----------------------- -For rand() use http://prng.di.unimi.it/xoshiro128starstar.c ? - Popup windows: - Use popup (or popup menu) for command line completion - Implement flip option @@ -47,11 +45,7 @@ Popup windows: - put popup menu also in popup_mask? - Any other commands to disable in a popup window? Use ERROR_IF_POPUP_WINDOW for these. -- Figure out the size and position better. - if wrapping splits a double-wide character - if wrapping inserts indent -- When drawing on top half a double-wide character, display ">" or "<" in the - incomplete cell. +- Figure out the size and position better if wrapping inserts indent Text properties: - Implement prop_find() issue #4970 diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -1,4 +1,4 @@ -*version8.txt* For Vim version 8.1. Last change: 2019 May 26 +*version8.txt* For Vim version 8.1. Last change: 2019 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -31,6 +31,11 @@ Changed |changed-8.1| Added |added-8.1| Patches |patches-8.1| +VERSION 8.2 |version-8.2| +Changed |changed-8.2| +Added |added-8.2| +Patches |patches-8.2| + See |vi_diff.txt| for an overview of differences between Vi and Vim 8.0. See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for @@ -25795,11 +25800,178 @@ Solution: Move the todo items to the h Files: src/terminal.c +============================================================================== +VERSION 8.2 *version-8.2* *version8.2* *vim-8.2* + +VERSION 8.2 IS NOT RELEASED YET! THIS SECTION WILL CHANGE. + +This section is about improvements made between version 8.1 and 8.2. + +This release has hundreds of bug fixes, there are a few new features and there +are many minor improvements. + + +Popup windows *new-popup-window* +------------- + +Popup windows can be used to display text on top of other windows. This can +be for a simple message such as "Build finished successfully", showing a +function prototype while editing a function call, a flexible popup menu and +many other purposes. + +Popup windows are very flexibley: they can be positioned relative to text, an +absolute position or just in the middle of the screen. The size can be fixed +or adjust to the text. A "zindex" value specifies what popup window goes on +top of others. + + +Text properties *new-text-properties* +--------------- + +Highlighting of text was done previously with syntax rules or matches. Text +properties give a plugin author more flexibility what to highlight. This can +be used with an external asynchronous parser to do syntax highlighting. Or +just to highlight text in a popup window. + +The listener functions have been added so exchange text changes with a server +to dynamically update highligting, mark errors and the like. + + +Vim script improvements *new-vimscript-8.2* +----------------------- + +Functions can now be called in a chain, using "->". E.g.: > + mylist->filter(filterexpr)->map(mapexpr)->sort()->join() +The new `:eval` command can be used when there is no result. + +The `:scriptversion` command was added to allow for changes that are not +backwards compatible. E.g. to only use ".." for string concatenation. + +`:const` was added to allow for declaring a variable that cannot change. > + const TIMER_DELAY = 400 + +The |Blob| type was added. This makes it easy to deal with binary data. + +A Dictionary can be defined with #{} where the keys are used literally. This +avoids having to use quotes. E.g.: > + let options = #{width: 30, height: 24} + + +Changed *changed-8.2* +------- + +The xdiff library was included to avoid the need for an external diff program +and to make updating diffs much faster. + + +Added *added-8.2* +----- + +Added functions: + All the popup_ functions. + All the prop_ functions. + All the sign_ functions. + All the sound_ functions. + + |appendbufline()| + |balloon_gettext()| + |bufadd()| + |bufload()| + |ch_readblob()| + |chdir()| + |debugbreak()| + |deletebufline()| + |environ()| + |expandcmd()| + |getenv()| + |getimstatus()| + |getmousepos()| + |gettagstack()| + |interrupt()| + |isinf()| + |list2str()| + |listener_add()| + |listener_flush()| + |listener_remove()| + |prompt_setcallback()| + |prompt_setinterrupt()| + |prompt_setprompt()| + |pum_getpos()| + |rand()| + |readdir()| + |reg_executing()| + |reg_recording()| + |rubyeval()| + |screenchars()| + |screenpos()| + |screenstring()| + |setenv()| + |settagstack()| + |srand()| + |state()| + |str2list()| + |strptime()| + |swapinfo()| + |swapname()| + |term_setapi()| + |test_getvalue()| + |test_null_blob()| + |test_refcount()| + |test_scrollbar()| + |test_setmouse()| + |win_execute()| + |win_splitmove()| + |winlayout()| + +Added autocommands: + |CompleteChanged| + |DiffUpdated| + |SafeState| + |SafeStateAgain| + |SourcePost| + |TerminalWinOpen| + +Added commands: + `:cabove` + `:cafter` + `:cbefore` + `:cbelow` + `:const` + `:eval` + `:labove` + `:lbefore` + `:lbelow` + `:lafter` + `:redrawtabline` + `:scriptversion` + `:spellrare` + `:tcd` + `:tchdir` + `:tlmenu` + `:tlnoremenu` + `:tlunmenu` + `:wsverb` + `:xrestore` + +Added options: + 'completepopup' + 'completeslash' + 'cursorlineopt' + 'modelineexpr' + 'previewpopup' + 'scrollfocus' + 'tagfunc' + 'termwintype' + 'varsofttabstop' + 'vartabstop' + 'wincolor' + + Patches *patches-8.2* ------- -These patches were applied after the 8.1 release and will eventually lead up -to the 8.2 release. +These patches were applied after the 8.1 release and are included in the 8.2 +release. Patch 8.1.0001 Problem: The netrw plugin does not work. @@ -29391,7 +29563,7 @@ Problem: Iterating through window fra Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan) Files: src/ex_docmd.c, src/globals.h, src/screen.c, src/window.c -Patch 8.1.0624 (after 8.2.0620) +Patch 8.1.0624 (after 8.1.0620) Problem: Overruling CONF_ARGS from the environment still does not work. (Tony Mechelynck) Solution: Add back CONF_ARGS next to the new numbered ones. @@ -34320,5 +34492,6207 @@ Solution: Use the pointer in tabpage_T Files: src/popupwin.c, src/globals.h, src/eval.c, src/screen.c, src/window.c +Patch 8.1.1401 +Problem: Misspelled mkspellmem as makespellmem. +Solution: Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken + Takata, closes #4437) +Files: runtime/doc/options.txt, src/testdir/test_modeline.vim + +Patch 8.1.1402 +Problem: "timer" option of popup windows not supported. +Solution: Implement the "timer" option. (Yasuhiro Matsumoto, closes #4439) +Files: src/structs.h, src/testdir/test_popupwin.vim, src/popupwin.c, + src/window.c, runtime/doc/popup.txt + +Patch 8.1.1403 +Problem: Cannot build without the timer feature. +Solution: Add #ifdef. +Files: src/structs.h, src/window.c, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1404 +Problem: Cannot change the patch level when building with NSIS. +Solution: Use $PATCHLEVEL if defined. (Christian Brabandt) +Files: nsis/gvim.nsi + +Patch 8.1.1405 +Problem: "highlight" option of popup windows not supported. +Solution: Implement the "highlight" option. +Files: src/option.c, src/proto/option.pro, src/diff.c src/popupwin.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_01.dump, + src/testdir/dumps/Test_popupwin_03.dump + +Patch 8.1.1406 +Problem: popup_hide() and popup_show() not implemented yet. +Solution: Implement the functions. +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, runtime/doc/popup.txt, src/screen.c, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1407 +Problem: Popup_create() does not support text properties. +Solution: Support the third form of the text argument. +Files: src/textprop.c, src/proto/textprop.pro, src/popupwin.c, + src/testdir/test_popupwin.vim, src/screen.c, + src/testdir/dumps/Test_popupwin_02.dump, + src/testdir/dumps/Test_popupwin_03.dump, + src/testdir/dumps/Test_popupwin_04.dump, + runtime/doc/popup.txt + +Patch 8.1.1408 +Problem: PFL_HIDDEN conflicts with system header file. +Solution: Rename to POPF_HIDDEN. +Files: src/popupwin.c, src/screen.c, src/vim.h + +Patch 8.1.1409 +Problem: Coverity warns for using uninitialized memory. +Solution: Add a condition to clearing the growarray. +Files: src/json.c + +Patch 8.1.1410 +Problem: Popup_move() is not implemented yet. +Solution: Implement it. (Yasuhiro Matsumoto, closes #4441) Improve the + positioning and resizing. +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/screen.c, src/structs.h, src/proto/popupwin.pro, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_05.dump + +Patch 8.1.1411 +Problem: Coverity warns for divide by zero. +Solution: Make sure width is larger than zero. +Files: src/charset.c + +Patch 8.1.1412 +Problem: Test 30 is old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #4440) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test30.in, src/testdir/test30.ok, + src/testdir/test_fileformat.vim + +Patch 8.1.1413 +Problem: Error when the drive of the swap file was disconnected. +Solution: Try closing and re-opening the swap file. (partly by Joe Orost, + closes #4378) +Files: src/memfile.c, src/structs.h, src/testdir/test_startup.vim + +Patch 8.1.1414 +Problem: Alloc() returning "char_u *" causes a lot of type casts. +Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to + check the simple allocations. +Files: src/autocmd.c, src/blob.c, src/blowfish.c, src/buffer.c, + src/change.c, src/channel.c, src/crypt.c, src/crypt_zip.c, + src/dict.c, src/diff.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, + src/fileio.c, src/findfile.c, src/getchar.c, src/gui_gtk.c, + src/gui_gtk_x11.c, src/gui_mac.c, src/gui_motif.c, + src/gui_photon.c, src/gui_w32.c, src/gui_x11.c, src/hardcopy.c, + src/hashtab.c, src/if_cscope.c, src/if_mzsch.c, src/if_perlsfio.c, + src/if_py_both.h, src/if_python3.c, src/if_xcmdsrv.c, + src/insexpand.c, src/list.c, src/mark.c, src/mbyte.c, + src/memfile.c, src/memfile_test.c, src/memline.c, src/message.c, + src/misc2.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c, src/os_amiga.c, src/os_mac_conv.c, src/os_mswin.c, + src/os_unix.c, src/os_vms.c, src/os_win32.c, src/popupmnu.c, + src/proto/misc2.pro, src/quickfix.c, src/regexp.c, + src/regexp_nfa.c, src/screen.c, src/search.c, src/sign.c, + src/spell.c, src/spellfile.c, src/syntax.c, src/tag.c, src/term.c, + src/terminal.c, src/textprop.c, src/ui.c, src/undo.c, + src/userfunc.c, src/version.c, src/winclip.c, src/window.c, + src/vim.h, src/testdir/test_cscope.vim + +Patch 8.1.1415 (after 8.1.1414) +Problem: Build error in MS-Windows GUI. +Solution: Fix the LALLOC_MULT() argument. +Files: src/gui_w32.c + +Patch 8.1.1416 +Problem: Popup_getposition() not implemented yet. +Solution: Implement it. (Yasuhiro Matsumoto, closes #4449) +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1417 +Problem: MS-Windows: resolve() does not resolve all components of the path. + (David Briscoe) +Solution: Do not bail out for a reparse point. (Yasuhiro Matsumoto, + closes #4211, closes #4447) +Files: src/os_mswin.c, src/testdir/test_functions.vim + +Patch 8.1.1418 +Problem: Win_execute() is not implemented yet. +Solution: Implement it. +Files: src/evalfunc.c, src/popupwin.c, src/testdir/test_execute_func.vim, + runtime/doc/popup.txt, runtime/doc/eval.txt + +Patch 8.1.1419 +Problem: Listener callbacks may be called recursively. +Solution: Set "updating_screen" while listener callbacks are invoked. +Files: src/change.c, src/screen.c, src/proto/screen.pro, src/ui.c + +Patch 8.1.1420 +Problem: Popup window size only uses first line length. +Solution: Use the longest line. (Ben Jackson, closes #4451) Also deal with + wrapping lines. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1421 +Problem: Drawing "~" line in popup window. +Solution: Just draw text in the last line of the popup window. +Files: src/screen.c, src/structs.h, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_05.dump, + src/testdir/dumps/Test_popupwin_06.dump + +Patch 8.1.1422 +Problem: Popup_getoptions() not implemented yet. +Solution: Implement it. (closes #4452) +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1423 +Problem: Popup windows use options from current window and buffer. +Solution: Clear all local options when creating a popup window. +Files: src/popupwin.c, src/option.c, src/proto/option.pro, + src/testdir/test_popupwin.vim + +Patch 8.1.1424 +Problem: Crash when popup menu is deleted while waiting for char. +Solution: Bail out when pum_array was cleared. +Files: src/popupmnu.c + +Patch 8.1.1425 +Problem: Win_execute() does not set window pointers properly. +Solution: Use switch_win_noblock(). Also execute autocommands in a popup + window. +Files: src/window.c, src/proto/window.pro, src/evalfunc.c, src/autocmd.c + +Patch 8.1.1426 +Problem: No test for syntax highlight in popup window. +Solution: Add a screenshot test. Update associated documentation. Avoid + 'buftype' being reset by setbufvar(). +Files: runtime/doc/eval.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_10.dump, + src/testdir/dumps/Test_popupwin_11.dump + +Patch 8.1.1427 (after 8.1.1426) +Problem: Popup window screenshot test fails. +Solution: Add missing change to popup window code. +Files: src/popupwin.c + +Patch 8.1.1428 +Problem: Popup_atcursor() not implemented yet. +Solution: Implement it. (Yasuhiro Matsumoto, closes #4456) +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1429 +Problem: "pos" option of popup window not supported yet. +Solution: Implement the option. Rename popup_getposition() to + popup_getpos(). +Files: src/structs.h, src/popupwin.c, src/proto/popupwin.pro, + runtime/doc/popup.txt + +Patch 8.1.1430 +Problem: Popup window option "wrap" not supported. +Solution: Implement it. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_wrap.dump, + src/testdir/dumps/Test_popupwin_nowrap.dump + +Patch 8.1.1431 +Problem: Popup window listed as "Scratch". +Solution: List them as "Popup". +Files: src/buffer.c, src/popupwin.c, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt, runtime/doc/windows.txt + +Patch 8.1.1432 (after 8.1.1429) +Problem: Can't build with eval feature. +Solution: Add missing rename. +Files: src/evalfunc.c + +Patch 8.1.1433 +Problem: Win_execute() may leave popup window focused, eventually leading + to a crash. (Bjorn Linse) +Solution: When previous window was closed, go to the first window. +Files: src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1434 +Problem: Test 3 is old style. +Solution: Turn into a new style test. (Yegappan Lakshmanan, closes #4460) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test3.in, src/testdir/test3.ok, + src/testdir/test_cindent.vim + +Patch 8.1.1435 +Problem: Memory usage test is a bit too flaky. +Solution: Adjust the tolerances a bit. (Christian Brabandt) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1436 +Problem: Writefile test fails when run under /tmp. +Solution: Adjust 'backupskip. (Kenta Sato, closes #4462) +Files: src/testdir/test_writefile.vim + +Patch 8.1.1437 +Problem: Code to handle callbacks is duplicated. +Solution: Add callback_T and functions to deal with it. +Files: src/structs.h, src/evalfunc.c, src/proto/evalfunc.pro, + src/change.c, src/channel.c, src/proto/channel.pro, src/buffer.c, + src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/ex_cmds2.c, src/popupwin.c + +Patch 8.1.1438 +Problem: Some commands cause trouble in a popup window. +Solution: Add NOT_IN_POPUP_WINDOW. +Files: src/macros.h, src/popupwin.c, src/proto/popupwin.pro, + src/ex_docmd.c, src/ex_cmds2.c, src/window.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1439 +Problem: Json_encode() is very slow for large results. +Solution: In the growarray use a growth of at least 50%. (Ken Takata, + closes #4461) +Files: src/misc2.c + +Patch 8.1.1440 +Problem: Win_execute() test fails. +Solution: Adjust the expected error number. Move to popup test. +Files: src/testdir/test_execute_func.vim, src/testdir/test_popupwin.vim + +Patch 8.1.1441 +Problem: Popup window filter not yet implemented. +Solution: Implement the popup filter. +Files: src/structs.h, runtime/doc/popup.txt, src/popupwin.c, + src/proto/popupwin.pro, src/window.c, src/getchar.c, src/screen.c, + src/misc2.c, src/proto/misc2.pro, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1442 +Problem: Popup windows not considered when the Vim window is resized. + (Ben Jackson) +Solution: Reallocate the w_lines structure. (closes #4467) +Files: src/screen.c + +Patch 8.1.1443 +Problem: Popup window padding and border not implemented yet. +Solution: Implement padding and border. Add core position and size to + popup_getpos(). +Files: src/structs.h, src/popupwin.c, src/screen.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, runtime/doc/popup.txt + +Patch 8.1.1444 +Problem: Not using double line characters for popup border. +Solution: Use double line characters if using utf-8. +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1445 +Problem: Popup window border highlight not implemented yet. +Solution: Implement the "borderhighlight" option. +Files: src/structs.h, src/popupwin.c, src/window.c, src/screen.c, + src/testdir/test_popupwin.vim, runtime/doc/popup.txt, + src/testdir/dumps/Test_popupwin_22.dump + +Patch 8.1.1446 +Problem: Popup window callback not implemented yet. +Solution: Implement the callback. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, + src/evalfunc.c, src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1447 +Problem: Not allowed to create an empty popup. +Solution: Remove restriction that there is some text. (closes #4470) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1448 +Problem: Statusline is sometimes drawn on top of popup. +Solution: Redraw popups after the statusline. (Naruhiko Nishino, + closes #4468) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_behind.dump + +Patch 8.1.1449 +Problem: Popup text truncated at end of screen. +Solution: Move popup left if needed. Add the "fixed" property to disable + that. (Ben Jackson , closes #4466) +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1450 +Problem: Popup window positioning wrong when using padding or borders. +Solution: Fix computing the position. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_corners.dump + +Patch 8.1.1451 +Problem: CTRL-L does not clear screen with a popup window. +Solution: Do not change the type to NOT_VALID. Redraw all windows. + (closes #4471) +Files: src/screen.c + +Patch 8.1.1452 +Problem: Line and col property of popup windows not properly checked. +Solution: Check for "+" or "-" sign. +Files: src/popupwin.c, src/dict.c, src/proto/dict.pro, + src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1453 +Problem: Popup window "moved" property not implemented yet. +Solution: Implement it. +Files: src/main.c, src/edit.c, src/gui.c, src/globals.h, src/structs.h, + src/screen.c, src/popupwin.c, src/proto/popupwin.pro, + src/testdir/test_popupwin.vim, runtime/doc/popup.txt + +Patch 8.1.1454 +Problem: Build failure without the conceal feature. +Solution: Remove #ifdef. +Files: src/autocmd.c + +Patch 8.1.1455 +Problem: Popup_atcursor() not completely implemented. +Solution: Add the default for the "moved" property. +Files: src/popupwin.c, src/normal.c, src/vim.h, + src/testdir/test_popupwin.vim + +Patch 8.1.1456 +Problem: WinBar not redrawn after scrolling one line. +Solution: Exclude the winbar height when deciding what to redraw. + (closes #4473) +Files: src/screen.c, src/testdir/test_winbar.vim + +Patch 8.1.1457 +Problem: Cannot reuse a buffer when loading a screen dump. +Solution: Add the "bufnr" option. +Files: runtime/doc/eval.txt, src/structs.h, src/channel.c, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.1458 +Problem: Crash when using gtags. (issue #4102) +Solution: Check for negative row or col in screen_puts_len(). (Christian + Brabandt) +Files: src/screen.c + +Patch 8.1.1459 +Problem: Popup window border looks bad when 'ambiwidth' is "double". + (Yasuhiro Matsumoto) +Solution: Only use line drawing characters when 'ambiwidth' is "single". + (Ken Takata, closes #4477) +Files: src/screen.c + +Patch 8.1.1460 +Problem: Popup window border characters may be wrong. +Solution: Reset the border characters for each popup. Correct use of + 'ambiwidth'. +Files: src/screen.c + +Patch 8.1.1461 +Problem: Tests do not run or are not reliable on some systems. +Solution: Use "findstr" instead of "grep" on MS-Windows. Clear + PROMPT_COMMAND in the terminal test. Delete temp file. Wait for + output after executing a debug command. (Yegappan Lakshmanan, + closes #4479) +Files: src/testdir/test_debugger.vim, src/testdir/test_environ.vim, + src/testdir/test_filetype.vim, src/testdir/test_source.vim, + src/testdir/test_terminal.vim + +Patch 8.1.1462 +Problem: MS-Windows: using special character requires quoting. +Solution: Add quotes. (Ken Takata) +Files: src/testdir/test_environ.vim + +Patch 8.1.1463 +Problem: Gcc warns for uninitialized variable. +Solution: Put usage inside "if". (Ken Takata) +Files: src/textprop.c + +Patch 8.1.1464 +Problem: Only 4-digit rgb termresponse is recognized. +Solution: Also recognize 2-digit rgb response. (closes #4486) +Files: src/term.c, src/test_termcodes.vim + +Patch 8.1.1465 +Problem: Allocating wrong amount of memory. (Yegappan Lakshmanan) +Solution: Use sizeof() for right type of struct. +Files: src/memfile_test.c + +Patch 8.1.1466 +Problem: Not updating priority on existing sign. +Solution: Set the sign priority. Add a test. (Yegappan Lakshmanan) +Files: src/sign.c, src/testdir/test_signs.vim, runtime/doc/eval.txt, + runtime/doc/sign.txt + +Patch 8.1.1467 (after 8.1.1465) +Problem: Cscope test fails. +Solution: Update expected text. +Files: src/testdir/test_cscope.vim + +Patch 8.1.1468 +Problem: The generated desktop files may be invalid. +Solution: Check validity with desktop-file-validate. (Christian Brabandt, + Will Thompson, closes #4480) +Files: src/po/Makefile + +Patch 8.1.1469 +Problem: No test for checking the cursor style response. +Solution: Add a simple test. Also include the missing part of 8.1.1464. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.1470 +Problem: New Unicode character U32FF missing from double-width table. +Solution: Add the character. +Files: src/mbyte.c + +Patch 8.1.1471 +Problem: 'background' not correctly set for 2-digit rgb termresponse. +Solution: Adjust what digit to use. (closes #4495) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.1472 +Problem: Add_termcap_entry() is not tested. +Solution: Add a simple test. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1473 +Problem: New resolve() implementation causes problem for plugins. +Solution: Only resolve a resparse point after checking it is needed. (Ken + Takata, closes #4492) +Files: src/os_mswin.c, src/testdir/test_functions.vim + +Patch 8.1.1474 +Problem: 'ttybuiltin' is not tested. +Solution: At least test that it doesn't break things. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.1475 +Problem: Search string not displayed when 'rightleft' is set. +Solution: Clear the right part of the old text. (closes #4488, closes #4489) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.1.1476 +Problem: No statistics displayed after running tests. +Solution: Summarize the test results. (Christian Brabandt, closes #4391) + Also make it possible to report a skipped file. +Files: src/Makefile, src/testdir/Makefile, src/testdir/summarize.vim, + src/testdir/runtest.vim, src/testdir/test_arabic.vim, + src/testdir/test_autochdir.vim, src/testdir/test_balloon.vim + +Patch 8.1.1477 +Problem: Test summary fails in the tiny version. +Solution: set 'nocompatible'. +Files: Filelist, src/testdir/summarize.vim + +Patch 8.1.1478 +Problem: Still an error when running tests with the tiny version. +Solution: Do not try reading test.log +Files: src/testdir/Makefile, src/testdir/summarize.vim + +Patch 8.1.1479 +Problem: Change included for debugging only. +Solution: Restore the REDIR_TEST_TO_NULL line. +Files: src/testdir/Makefile + +Patch 8.1.1480 +Problem: Desktop file check doesn't run on CI. +Solution: Install the desktip-file-utils packages. (Christian Brabandt, + closes #4498) +Files: .travis.yml + +Patch 8.1.1481 +Problem: Length for two-digit rgb termresponse is off by one. +Solution: Adjust the length. (closes #4494) +Files: src/term.c + +Patch 8.1.1482 +Problem: No test for wincol() depending on the 'number' option. +Solution: Add a couple of tests. (Christian Brabandt, closes #4500) +Files: src/testdir/test_gui.vim + +Patch 8.1.1483 +Problem: Skipped tests are not properly listed. +Solution: Throw a "Skipped" exception instead of using ":finish" or ":return". +Files: src/testdir/test_breakindent.vim, src/testdir/test_cdo.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_balloon.vim, src/testdir/test_conceal.vim, + src/testdir/test_debugger.vim, src/testdir/test_diffmode.vim, + src/testdir/test_fold.vim, src/testdir/test_highlight.vim, + src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, + src/testdir/test_search.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_termencoding.vim, + src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim + +Patch 8.1.1484 +Problem: Some tests are slow. +Solution: Add timing to the test messages. Fix double free when quitting in + VimLeavePre autocmd. +Files: src/testdir/runtest.vim, src/eval.c + +Patch 8.1.1485 +Problem: Double free when garbage_collect() is used in autocommand. +Solution: Have garbage collection also set the copyID in funccal_stack. +Files: src/eval.c, src/userfunc.c + +Patch 8.1.1486 +Problem: A listener change is merged even when it adds a line. (Paul Jolly) +Solution: Do not merge a change that adds or removes a line. (closes #4490) +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.1.1487 +Problem: Older msgfmt cannot generate proper .desktop file. +Solution: Add a configure check to not use this msgfmt version. (Ken Takata) +Files: src/configure.ac, src/auto/configure + +Patch 8.1.1488 +Problem: Summary of tests has incorrect failed count. +Solution: Add to the failed count instead of setting it. (Christian Brabandt) +Files: src/testdir/summarize.vim + +Patch 8.1.1489 +Problem: Sign order wrong when priority was changed. +Solution: Reorder signs when priority is changed. (Yegappan Lakshmanan, + closes #4502) +Files: src/quickfix.c, src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1490 +Problem: When a single test fails the exit code is not set. (Daniel Hahler) +Solution: Add an exit command. (closes #4506) +Files: src/testdir/Makefile + +Patch 8.1.1491 +Problem: When skipping over code after an exception was thrown expression + evaluation is aborted after a function call. (Ingo Karkat) +Solution: Do not fail if not executing the expression. (closes #4507) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.1492 +Problem: MS-Windows: when "!" is in 'guioptions' ":!start" fails. +Solution: Do not use a terminal window when the shell command begins with + "!start". (Yasuhiro Matsumoto, closes #4504) +Files: src/misc2.c, src/os_win32.c + +Patch 8.1.1493 +Problem: Redrawing with popups is slow and causes flicker. +Solution: Avoid clearing and redrawing using a zindex mask. +Files: src/globals.h, src/screen.c, src/proto/screen.pro, src/popupwin.c, + src/popupmnu.c + +Patch 8.1.1494 (after 8.1.1493) +Problem: Build failure. +Solution: Add missing changes. +Files: src/structs.h + +Patch 8.1.1495 (after 8.1.1494) +Problem: Memory access error. +Solution: Use the correct size for clearing the popup mask. +Files: src/screen.c + +Patch 8.1.1496 +Problem: Popup window height is not recomputed. +Solution: Recompute the height when needed. +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_06.dump + +Patch 8.1.1497 +Problem: Accessing memory beyond allocated space. +Solution: Check column before accessing popup mask. +Files: src/screen.c + +Patch 8.1.1498 +Problem: ":write" increments b:changedtick even though nothing changed. + (Daniel Hahler) +Solution: Only increment b:changedtick if the modified flag is reset. +Files: src/change.c, src/proto/change.pro, runtime/doc/eval.txt, + src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, + src/undo.c + +Patch 8.1.1499 +Problem: Ruler not updated after popup window was removed. +Solution: use popup_mask in screen_puts(). +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_08.dump + +Patch 8.1.1500 +Problem: Wrong shell command when building with VIMDLL and "!" in + 'guioptions'. +Solution: Add check for GUI in use. (Ken Takata) +Files: src/misc2.c + +Patch 8.1.1501 +Problem: New behavior of b:changedtick not tested. +Solution: Add a few test cases. (Daniel Hahler) +Files: src/testdir/test_changedtick.vim + +Patch 8.1.1502 +Problem: Cannot play any sound. +Solution: Use libcanberra if available. Add sound functions. +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/Makefile, src/sound.c, src/proto/sound.pro, src/proto.h, + src/evalfunc.c, src/feature.h, runtime/doc/eval.txt, Filelist, + src/version.c, src/testdir/test_sound.vim, src/testdir/silent.wav, + src/testdir/Make_all.mak, .travis.yml + +Patch 8.1.1503 +Problem: Sound test fails on Travis. +Solution: Set AUDIODEV to "null". +Files: .travis.yml + +Patch 8.1.1504 +Problem: Sound test still fails on Travis. +Solution: Add more lines to the install section. +Files: .travis.yml + +Patch 8.1.1505 +Problem: Running "make clean" twice gives errors. +Solution: Add "-f" to "rm". (closes #4516) +Files: src/testdir/Makefile + +Patch 8.1.1506 +Problem: Syntax error in Travis config. +Solution: Set AUDIODEV in another section. +Files: .travis.yml + +Patch 8.1.1507 +Problem: Sound test still fails on Travis. +Solution: Try another dummy sound approach. +Files: .travis.yml + +Patch 8.1.1508 +Problem: Sound keeps failing on Travis. +Solution: Throw a skipped exception in the test. +Files: src/testdir/test_sound.vim + +Patch 8.1.1509 +Problem: Cmdline_row can become negative, causing a crash. +Solution: Make sure cmdline_row does not become negagive. (closes #4102) +Files: src/misc1.c + +Patch 8.1.1510 +Problem: A plugin cannot easily expand a command like done internally. +Solution: Add the expandcmd() function. (Yegappan Lakshmanan, closes #4514) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_expand.vim + +Patch 8.1.1511 +Problem: Matches in a popup window are not displayed properly. +Solution: Do display matches in a popup window. (closes #4517) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_matches.dump + +Patch 8.1.1512 +Problem: ch_evalexpr() hangs when used recursively. (Paul Jolly) +Solution: Change ch_block_id from a single number to a list of IDs to wait + on. +Files: src/channel.c, src/structs.h + +Patch 8.1.1513 +Problem: All popup functionality is in functions, except :popupclear. +Solution: Add popup_clear() for consistency. Also rename sound_stopall() to + sound_clear(). +Files: src/ex_cmds.h, src/ex_cmdidxs.h, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/sound.c, src/proto/sound.pro, + src/testdir/test_popupwin.vim src/testdir/test_sound.vim, + runtime/doc/eval.txt runtime/doc/popup.txt + +Patch 8.1.1514 (after 8.1.1492) +Problem: MS-Windows: wrong shell command with ! in 'guioptions'. +Solution: Do not check for ! in 'guioptions' when applying 'shellxquote'. + (Yasuhiro Matsumoto, closes #4519) +Files: src/misc2.c + +Patch 8.1.1515 +Problem: Memory leak reported for sound when build with EXITFREE. +Solution: Free sound stuff when exiting. +Files: src/misc2.c + +Patch 8.1.1516 +Problem: Time reported for a test measured wrong. +Solution: Move the computation to the end of RunTheTest(). (Ozaki Kiichi, + closes #4520) +Files: src/testdir/runtest.vim + +Patch 8.1.1517 +Problem: When a popup changes all windows are redrawn. +Solution: Only update the lines that were affected. Add a file for + profiling popup windows efficiency. +Files: src/screen.c, src/proto/screen.pro, src/ui.c, src/popupwin.c, + src/globals.h, src/testdir/popupbounce.vim, Filelist + +Patch 8.1.1518 +Problem: Crash when setting 'columns' while a popup is visible. +Solution: Recompute all positions when clearing the screen. (closes #4467) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_04a.dump + +Patch 8.1.1519 +Problem: 'backupskip' may contain duplicates. +Solution: Add the P_NODUP flag. (Tom Ryder) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.1.1520 +Problem: Popup windows are ignored when dealing with mouse position +Solution: Find the mouse position inside a popup window. Allow for modeless + selection. +Files: src/ui.c, src/proto/ui.pro, src/popupwin.c, + src/proto/popupwin.pro, src/screen.c, src/beval.c, src/edit.c, + src/evalfunc.c, src/gui.c, src/normal.c, src/structs.h + +Patch 8.1.1521 +Problem: When a popup window is closed the buffer remains. +Solution: Wipe out the buffer. +Files: src/window.c, src/testdir/test_popupwin.vim + +Patch 8.1.1522 +Problem: Popup_notification() not implemented yet. +Solution: Implement it. +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt + src/testdir/dumps/Test_popupwin_notify_01.dump, + src/testdir/dumps/Test_popupwin_notify_02.dump + +Patch 8.1.1523 +Problem: Cannot show range of buffer lines in popup window. +Solution: Add the "firstline" property. (closes #4523) +Files: src/popupwin.c, src/structs.h, runtime/doc/popup.txt, + src/testdir/test_popupwin.vim, + testdir/dumps/Test_popupwin_firstline.dump + +Patch 8.1.1524 +Problem: Tests are silently skipped. +Solution: Throw an exception for skipped tests in more places. +Files: src/testdir/test_assert.vim, src/testdir/test_paste.vim, + src/testdir/shared.vim, src/testdir/test_crypt.vim, + src/testdir/test_cscope.vim, src/testdir/test_digraph.vim, + src/testdir/test_float_func.vim, src/testdir/test_gui.vim, + src/testdir/test_gui_init.vim, src/testdir/test_history.vim, + src/testdir/test_langmap.vim, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, src/testdir/test_lua.vim, + src/testdir/test_makeencoding.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_mksession.vim, + src/testdir/test_mksession_utf8.vim, + src/testdir/test_netbeans.vim, src/testdir/test_paste.vim, + src/testdir/test_perl.vim, src/testdir/test_profile.vim, + src/testdir/test_prompt_buffer.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, + src/testdir/test_pyx3.vim, src/testdir/test_quickfix.vim, + src/testdir/test_quotestar.vim, src/testdir/test_reltime.vim, + src/testdir/test_ruby.vim, src/testdir/test_sha256.vim, + src/testdir/test_shortpathname.vim, src/testdir/test_signals.vim, + src/testdir/test_signs.vim, src/testdir/test_spell.vim, + src/testdir/test_syntax.vim, src/testdir/test_tcl.vim, + src/testdir/test_termcodes.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal_fail.vim, + src/testdir/test_textobjects.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim, src/testdir/test_vartabs.vim, + src/testdir/test_winbar.vim, src/testdir/test_windows_home.vim, + src/testdir/test_xxd.vim + +Patch 8.1.1525 +Problem: Cannot move a popup window with the mouse. +Solution: Add the "drag" property and make it possible to drag a popup + window by its border. +Files: src/popupwin.c, src/proto/popupwin.pro, src/structs.h, src/ui.c, + src/window.c, src/proto/window.pro, runtime/doc/popup.txt + +Patch 8.1.1526 +Problem: No numerical value for the patchlevel. +Solution: Add v:versionlong. +Files: src/version.c, src/eval.c, src/vim.h, runtime/doc/eval.txt, + src/testdir/test_eval_stuff.vim + +Patch 8.1.1527 +Problem: When moving a popup window over the command line it is not + redrawn. +Solution: Redraw the command line. Move popup redrawing code to the popupwin + file. +Files: src/screen.c, src/proto/screen.pro, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump + +Patch 8.1.1528 +Problem: Popup_any_visible() is unused. +Solution: Remove it. +Files: src/popupwin.c, src/proto/popupwin.pro + +Patch 8.1.1529 +Problem: Libcanberra is linked with even when not used. +Solution: Have configure check for libcanberra only when wanted. + (suggestions by Libor Bukata) +Files: src/feature.h, src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.1.1530 +Problem: Travis config is not optimal. +Solution: Remove system conditions. Do not use excluding matrix. Cache OSX + results. (Ozaki Kiichi, closes #4521) +Files: .travis.yml + +Patch 8.1.1531 +Problem: Clipboard type name is inconsistent. +Solution: Rename VimClipboard to Clipboard_T. +Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/gui_mac.c, + src/proto/gui_mac.pro, src/gui_x11.c, src/proto/gui_x11.pro, + src/ops.c, src/proto/ops.pro, src/os_qnx.c, src/proto/os_qnx.pro, + src/os_unix.c, src/proto/os_unix.pro, src/ui.c, src/proto/ui.pro, + src/winclip.c, src/proto/winclip.pro, src/globals.h, src/proto.h + +Patch 8.1.1532 (after 8.1.1531) +Problem: Build fails. +Solution: Add missing changes. +Files: src/vim.h + +Patch 8.1.1533 +Problem: GUI build fails on Mac. +Solution: Change VimClipboard type in non-C file. +Files: src/os_macosx.m + +Patch 8.1.1534 +Problem: Modeless selection in popup window selects too much. +Solution: Restrict the selection to insde of the popup window. +Files: src/vim.h, src/ui.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_select_01.dump, + src/testdir/dumps/Test_popupwin_select_02.dump + +Patch 8.1.1535 (after 8.1.1534) +Problem: Popup select test fails on Mac. +Solution: Skip test if clipboard feature not available. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1536 (after 8.1.1534) +Problem: Popup select test still fails on Mac. +Solution: Set 'clipboard' to "autoselect" +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1537 +Problem: Using "tab" for popup window can be confusing. +Solution: Use "tabpage". (Hirohito Higashi, closes #4532) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1538 +Problem: Cannot specify highlighting for notifications. +Solution: Use the PopupNotification group if it exists. Add a minimal width + to notifications. +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_notify_01.dump, + src/testdir/dumps/Test_popupwin_notify_02.dump + +Patch 8.1.1539 +Problem: Not easy to define a variable and lock it. +Solution: Add ":const". (Ryuichi Hayashida, closes #4541) +Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmdidxs.h, src/ex_cmds.h, + src/proto/eval.pro, src/testdir/Make_all.mak, + src/testdir/test_const.vim + +Patch 8.1.1540 (after 8.1.1539) +Problem: Cannot build without the +eval feature. +Solution: Define ex_const if needed. +Files: src/ex_docmd.c + +Patch 8.1.1541 +Problem: Check for ASAN is not reliable. +Solution: Check the version output. (Dominique Pelle, closes #4543) +Files: src/testdir/test_memory_usage.vim + +Patch 8.1.1542 +Problem: An OptionSet autocommand does not get enough info. +Solution: Add v:option_command, v:option_oldlocal and v:option_oldglobal. + (Latrice Wilgus, closes #4118) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, + runtime/doc/version8.txt, src/eval.c, src/option.c, src/structs.h, + src/testdir/test_autocmd.vim, src/vim.h + +Patch 8.1.1543 +Problem: Const test fails with small features. +Solution: Don't unlet non-existing variables. +Files: src/testdir/test_const.vim + +Patch 8.1.1544 +Problem: Some balloon tests don't run when they can. +Solution: Split GUI balloon tests off into a separate file. (Ozaki Kiichi, + closes #4538) Change the feature check into a command for + consistency. +Files: Filelist, src/testdir/Make_all.mak, src/testdir/check.vim, + src/testdir/test_arabic.vim, src/testdir/test_balloon.vim, + src/testdir/test_balloon_gui.vim, src/testdir/test_crypt.vim, + src/testdir/test_cscope.vim, src/testdir/test_digraph.vim, + src/testdir/test_float_func.vim, src/testdir/test_gui.vim, + src/testdir/test_gui_init.vim, src/testdir/test_history.vim, + src/testdir/test_langmap.vim, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, src/testdir/test_lua.vim, + src/testdir/test_makeencoding.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_mksession.vim, + src/testdir/test_mksession_utf8.vim, + src/testdir/test_netbeans.vim, src/testdir/test_paste.vim, + src/testdir/test_perl.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim, + src/testdir/test_pyx2.vim, src/testdir/test_pyx3.vim, + src/testdir/test_quickfix.vim, src/testdir/test_quotestar.vim, + src/testdir/test_reltime.vim, src/testdir/test_ruby.vim, + src/testdir/test_sha256.vim, src/testdir/test_shortpathname.vim, + src/testdir/test_signals.vim, src/testdir/test_signs.vim, + src/testdir/test_spell.vim, src/testdir/test_syntax.vim, + src/testdir/test_tcl.vim, src/testdir/test_termcodes.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal_fail.vim, + src/testdir/test_textobjects.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim, src/testdir/test_vartabs.vim, + src/testdir/test_winbar.vim, src/testdir/test_windows_home.vim, + src/testdir/test_xxd.vim + +Patch 8.1.1545 +Problem: When the screen is to small there is no message about that. + (Daniel Hahler) +Solution: Do not use :cquit. (closes #4534) +Files: src/testdir/runtest.vim + +Patch 8.1.1546 +Problem: In some tests 'tags' is set but not restored. (Daniel Hahler) +Solution: Restore 'tags'. (closes #4535) +Files: src/testdir/test_autocmd.vim, src/testdir/test_cmdline.vim, + src/testdir/test_options.vim, src/testdir/test_tagcase.vim, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim + +Patch 8.1.1547 +Problem: Functionality of bt_nofile() is confusing. +Solution: Split into bt_nofile() and bt_nofilename(). +Files: src/buffer.c, src/proto/buffer.pro, src/evalfunc.c, src/ex_cmds.c, + src/ex_docmd.c, src/fileio.c, src/popupmnu.c, src/quickfix.c + +Patch 8.1.1548 +Problem: Popup_dialog() is not implemented. +Solution: Implement popup_dialog() and popup_filter_yesno(). +Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c, + src/structs.h, src/globals.h, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt + +Patch 8.1.1549 (after 8.1.1547) +Problem: Quickfix test fails. +Solution: Negate result of bt_quickfix(). +Files: src/quickfix.c + +Patch 8.1.1550 +Problem: When a popup has left padding text may be cut off. +Solution: Add the border and padding when computing the size. +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.1.1551 +Problem: Warning for shadowing popup_dragwin. (Dominique Pelle) +Solution: Add missing change. +Files: src/ui.c + +Patch 8.1.1552 +Problem: Cursor position is wrong after sign column appears or disappears. + (Yegappan Lakshmanan) +Solution: Call changed_line_abv_curs() instead of changed_cline_bef_curs(). +Files: src/sign.c, src/testdir/test_signs.vim, + src/testdir/dumps/Test_sign_cursor_01.dump, + src/testdir/dumps/Test_sign_cursor_02.dump + +Patch 8.1.1553 +Problem: Not easy to change the text in a popup window. +Solution: Add popup_settext(). (Ben Jackson, closes #4549) + Also display a space for an empty popup. +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, + src/testdir/dumps/Test_popup_settext_01.dump, + src/testdir/dumps/Test_popup_settext_02.dump, + src/testdir/dumps/Test_popup_settext_03.dump, + src/testdir/dumps/Test_popup_settext_04.dump, + src/testdir/dumps/Test_popup_settext_05.dump, + src/testdir/dumps/Test_popup_settext_06.dump, + src/testdir/test_popupwin.vim + +Patch 8.1.1554 (after 8.1.1539) +Problem: Docs and tests for :const can be improved. +Solution: Improve documentation, add a few more tests. (Ryuichi Hayashida, + closes #4551) +Files: runtime/doc/eval.txt, src/testdir/test_const.vim + +Patch 8.1.1555 +Problem: NOT_IN_POPUP_WINDOW is confusing. (Andy Massimino) +Solution: Rename to ERROR_IF_POPUP_WINDOW(). +Files: src/popupwin.c, src/proto/popupwin.pro, src/macros.h, + src/ex_cmds2.c, src/ex_docmd.c, src/window.c + +Patch 8.1.1556 +Problem: The command displayed to show a failing screenshot does not include + the "testdir" directory. +Solution: Prefix the directory name so that it can be copy-pasted. +Files: src/testdir/screendump.vim + +Patch 8.1.1557 +Problem: Compiler warning for unused variables in tiny version. (Tony + Mechelynck) +Solution: Add #ifdef. +Files: src/option.c + +Patch 8.1.1558 +Problem: Popup_menu() and popup_filter_menu() are not implemented yet. +Solution: Implement the functions. Fix that centering didn't take the border + and padding into account. +Files: runtime/doc/popup.txt, src/popupwin.c, src/proto/popupwin.pro, + src/evalfunc.c, src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_menu_03.dump, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump + +Patch 8.1.1559 +Problem: Popup window title property not implemented yet. +Solution: Implement the title property. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h + src/window.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_title.dump + +Patch 8.1.1560 +Problem: Popup window hidden option not implemented yet. +Solution: Implement the hidden option. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1561 +Problem: Popup_setoptions() is not implemented yet. +Solution: Implement popup_setoptions(). Also add more fields to + popup_getoptions(). +Files: runtime/doc/popup.txt, src/popupwin.c, src/proto/popupwin.pro, + src/dict.c, src/proto/dict.pro, src/evalfunc.c, + src/testdir/test_popupwin.vim, src/testdir/runtest.vim + +Patch 8.1.1562 +Problem: Popup window not always redrawn after popup_setoptions(). +Solution: Force a redraw. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_23.dump + +Patch 8.1.1563 +Problem: Crash when using closures. +Solution: Set reference in varlist of funccal when running the garbage + collector. (Ozaki Kiichi, closes #4554, closes #4547) +Files: src/testdir/test_vimscript.vim, src/userfunc.c + +Patch 8.1.1564 +Problem: Sign column takes up space. (Adam Stankiewicz) +Solution: Optionally put signs in the number column. (Yegappan Lakshmanan, + closes #4555, closes #4515) +Files: runtime/doc/options.txt, src/option.c, src/screen.c, + src/testdir/test_signs.vim + +Patch 8.1.1565 +Problem: MS-Windows: no sound support. +Solution: Add sound support for MS-Windows. (Yasuhiro Matsumoto, Ken Takata, + closes #4522) +Files: runtime/doc/eval.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/sound.c, src/testdir/test_sound.vim + +Patch 8.1.1566 +Problem: Error message when terminal closes while it is not in the current + tab. +Solution: Also set "do_set_w_closing" when using the special autocommand + window. (closes #4552) +Files: src/terminal.c + +Patch 8.1.1567 +Problem: Localtime_r() does not respond to $TZ changes. +Solution: If $TZ changes then call tzset(). (Tom Ryder) +Files: src/auto/configure, src/config.h.in, src/configure.ac, + src/evalfunc.c, src/memline.c, src/proto/memline.pro, + src/testdir/test_functions.vim, src/undo.c + +Patch 8.1.1568 (after 8.1.1567) +Problem: Strftime() test fails on MS-Windows. +Solution: Skip the check for using the $TZ environment variable. +Files: src/testdir/test_functions.vim + +Patch 8.1.1569 +Problem: Cannot build with signs but without diff feature. +Solution: Move #ifdef. (Tom Ryder) +Files: src/screen.c + +Patch 8.1.1570 +Problem: Icon signs not displayed properly in the number column. +Solution: Display them properly. (Yegappan Lakshmanan, closes #4559) +Files: src/gui.c, src/screen.c, src/testdir/test_signs.vim + +Patch 8.1.1571 +Problem: textprop highlight starts too early if just after a tab. +Solution: Check if still drawing a previous character. (closes #4558) +Files: src/screen.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_tab.dump + +Patch 8.1.1572 (after 8.1.1569) +Problem: Compiler warnings with tiny build. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.1573 (after 8.1.1571) +Problem: Textprop test fails if screenhots do not work. +Solution: Add check for screenhots working. +Files: src/testdir/test_textprop.vim + +Patch 8.1.1574 +Problem: Tabpage option not yet implemented for popup window. +Solution: Implement tabpage option, also for popup_getoptions(). +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1575 +Problem: Callbacks may be garbage collected. +Solution: Set reference in callbacks. (Ozaki Kiichi, closes #4564) +Files: src/buffer.c, src/channel.c, src/eval.c, src/ex_cmds2.c, + src/popupwin.c, src/proto/buffer.pro, src/proto/popupwin.pro, + src/terminal.c, src/testdir/test_listener.vim, + src/testdir/test_popupwin.vim, src/testdir/test_prompt_buffer.vim, + src/userfunc.c + +Patch 8.1.1576 +Problem: Compiler warning for unused argument. +Solution: Add "UNUSED" annotation. (Dominique Pelle, closes #4570) +Files: src/ui.c + +Patch 8.1.1577 +Problem: Command line redrawn for +arabic without Arabic characters. + (Dominique Pelle) +Solution: Check if there actually are any Arabic characters. Do redraw + after displaying incsearch. (closes #4569) +Files: src/ex_getln.c + +Patch 8.1.1578 +Problem: MS-Windows: pathdef.c should depend on build options. +Solution: Generate pathdef.c in the object directory. Fix dependencies. + (Ken Takata, closes #4565) +Files: .gitignore, .hgignore, src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.1579 +Problem: Dict and list could be GC'ed while displaying error in a timer. + (Yasuhiro Matsumoto) +Solution: Block garbage collection when executing a timer. Add + test_garbagecollect_soon(). Add "no_wait_return" to + test_override(). (closes #4571) +Files: src/dict.c, src/testdir/test_timers.vim, src/evalfunc.c, + runtime/doc/eval.txt + +Patch 8.1.1580 +Problem: Cannot make part of a popup transparent. +Solution: Add the "mask" option. +Files: runtime/doc/popup.txt, src/popupwin.c, src/screen.c, + src/structs.h, src/window.c, src/ui.c, src/vim.h, src/globals.h, + src/testdir/dumps/Test_popupwin_mask_1.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump + +Patch 8.1.1581 +Problem: Shared functions for testing are disorganised. +Solution: Group finctions in script files. (Ozaki Kiichi, closes #4573) +Files: Filelist, src/testdir/screendump.vim, src/testdir/shared.vim, + src/testdir/term_util.vim, src/testdir/test_mksession.vim, + src/testdir/test_suspend.vim, src/testdir/test_terminal.vim, + src/testdir/test_timers.vim, src/testdir/view_util.vim + +Patch 8.1.1582 +Problem: Cannot build with +textprop but without +timers. +Solution: Add #ifdef. (Ola Söder, closes #4574) +Files: src/popupwin.c + +Patch 8.1.1583 +Problem: Set_ref_in_list() only sets ref in items. +Solution: Rename to set_ref_in_list_items() to avoid confusion. +Files: src/eval.c, src/proto/eval.pro, src/if_lua.c, src/popupwin.c, + src/userfunc.c, src/if_py_both.h + +Patch 8.1.1584 +Problem: The evalfunc.c file is getting too big. +Solution: Move channel and job related functions to channel.c. +Files: src/channel.c, src/evalfunc.c, src/proto/channel.pro + +Patch 8.1.1585 +Problem: :let-heredoc does not trim enough. +Solution: Trim indent from the contents based on the indent of the first + line. Use let-heredoc in more tests. +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_balloon.vim, + src/testdir/test_cindent.vim, src/testdir/test_const.vim, + src/testdir/test_debugger.vim, src/testdir/test_functions.vim, + src/testdir/test_goto.vim, src/testdir/test_gui.vim, + src/testdir/test_highlight.vim, src/testdir/test_join.vim, + src/testdir/test_let.vim, src/testdir/test_memory_usage.vim, + src/testdir/test_messages.vim, + src/testdir/test_mksession_utf8.vim, src/testdir/test_normal.vim, + src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_quickfix.vim, + src/testdir/test_xxd.vim + +Patch 8.1.1586 +Problem: Error number used in two places. +Solution: Renumber one. (Ken Takata) +Files: runtime/doc/popup.txt, src/popupwin.c + +Patch 8.1.1587 +Problem: Redraw problem when sign icons in the number column. +Solution: Clear and redraw when changing related options. Right aligh the + sign icon in the GUI. (Yegappan Lakshmanan, closes #4578) +Files: src/gui.c, src/option.c + +Patch 8.1.1588 +Problem: In :let-heredoc line continuation is recognized. +Solution: Do not consume line continuation. (Ozaki Kiichi, closes #4580) +Files: src/autocmd.c, src/digraph.c, src/eval.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_cmds.h, src/ex_cmds2.c, src/ex_docmd.c, + src/ex_getln.c, src/normal.c, src/ops.c, src/proto/autocmd.pro, + src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, + src/proto/ex_getln.pro, src/proto/userfunc.pro, + src/testdir/test_let.vim, src/testdir/test_startup.vim, + src/userfunc.c + +Patch 8.1.1589 +Problem: Popup window does not indicate scroll position. +Solution: Add a scrollbar. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_firstline.dump, + src/testdir/dumps/Test_popupwin_scroll_1.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_4.dump + +Patch 8.1.1590 +Problem: Popup window test fails. +Solution: Add "scrollbar" to expected result. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1591 +Problem: On error garbage collection may free memory in use. +Solution: Reset may_garbage_collect when evaluating expression mapping. + Add tests. (Ozaki Kiichi, closes #4579) +Files: src/ex_cmds2.c, src/getchar.c, src/testdir/test_mapping.vim, + src/testdir/test_timers.vim, src/testdir/test_vimscript.vim + +Patch 8.1.1592 +Problem: May start file dialog while exiting. +Solution: Ignore the "browse" modifier when exiting. (Ozaki Kiichi, + closes #4582 +Files: src/ex_cmds.c, src/terminal.c + +Patch 8.1.1593 +Problem: Filetype not detected for C++ header files without extension. +Solution: Recognize the file by the Emacs file mode. (Dmitry Ilyin, + closes #4593) +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.1.1594 +Problem: May still start file dialog while exiting. +Solution: Ignore the "browse" modifier in another place when exiiting. + (Ozaki Kiichi, closes #4582) +Files: src/ex_cmds.c + +Patch 8.1.1595 +Problem: MS-Windows with VIMDLL: colors wrong in the GUI. +Solution: Do not set the terminal colors when not using the GUI. (Ken + Takata, closes #4588) +Files: src/syntax.c + +Patch 8.1.1596 +Problem: When resizing the screen may draw popup in wrong position. (Masato + Nishihata) +Solution: Check the popup is not outside of the screen. (fixes #4592) +Files: src/popupwin.c + +Patch 8.1.1597 +Problem: Cannot scroll a popup window with the mouse. +Solution: If the popup window has a scrollbar let the mouse scroll wheel + scroll the window. +Files: runtime/doc/popup.txt, src/normal.c, src/popupwin.c, src/screen.c, + src/testdir/dumps/Test_popupwin_firstline.dump, + src/testdir/dumps/Test_popupwin_scroll_1.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump, + src/testdir/dumps/Test_popupwin_scroll_7.dump + +Patch 8.1.1598 +Problem: Update to test file missing. +Solution: Update the popup window test file. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1599 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Add a dummy assignment. +Files: src/popupwin.c, src/normal.c + +Patch 8.1.1600 +Problem: Cannot specify highlighting for popup window scrollbar. +Solution: Add "scrollbarhighlight" and "thumbhighlight" options. +Files: src/popupwin.c, src/structs.h, src/window.c, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump, + src/testdir/dumps/Test_popupwin_scroll_7.dump + +Patch 8.1.1601 +Problem: Missing changes to popup window test file. +Solution: Add those changes. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1602 +Problem: Popup window cannot overflow on the left or right. +Solution: Only set the "fixed" option when it is in the dict. Set w_leftcol + to allow for the popup overflowing on the left and use it when + applying the mask. +Files: src/popupwin.c + +Patch 8.1.1603 +Problem: Crash when using unknown highlighting in text property. +Solution: Check for zero highlight ID. +Files: src/screen.c, src/testdir/test_textprop.vim + +Patch 8.1.1604 +Problem: Popup window scroll test is flaky. +Solution: Add a delay between scroll events. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1605 +Problem: Vim may delay processing messages on a json channel. (Pontus + Leitzler) +Solution: Try parsing json when checking if there is readahead. +Files: src/channel.c + +Patch 8.1.1606 +Problem: On a narrow screen ":hi" output is confusing. +Solution: Insert a space between highlight group name and "xxx". (Masato + Nishihaga, closes #4599) +Files: src/syntax.c, src/testdir/test_highlight.vim + +Patch 8.1.1607 +Problem: Popup window scrollbar does not respond to click. +Solution: Mouse click in scrollbar scrolls by one line. +Files: src/popupwin.c, src/proto/popupwin.pro, src/structs.h, src/ui.c, + src/normal.c, runtime/doc/popup.txt, + src/testdir/dumps/Test_popupwin_scroll_8.dump, + src/testdir/dumps/Test_popupwin_scroll_9.dump + +Patch 8.1.1608 +Problem: The evalfunc.c file is too big. +Solution: Move sign functionality to sign.c. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/sign.c, + src/proto/sign.pro + +Patch 8.1.1609 +Problem: The user cannot easily close a popup window. +Solution: Add the "close" property. (mostly by Masato Nishihata, + closes #4601) +Files: runtime/doc/popup.txt, src/popupwin.c, src/proto/popupwin.pro, + src/structs.h, src/testdir/dumps/Test_popupwin_close_01.dump, + src/testdir/dumps/Test_popupwin_close_02.dump, + src/testdir/dumps/Test_popupwin_close_03.dump, + src/testdir/test_popupwin.vim, src/ui.c + +Patch 8.1.1610 +Problem: There is no way to add or load a buffer without side effects. +Solution: Add the bufadd() and bufload() functions. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.1.1611 +Problem: Bufadd() reuses existing buffer without a name. +Solution: When the name is empty always create a new buffer. +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.1.1612 +Problem: Cannot show an existing buffer in a popup window. +Solution: Support buffer number argument in popup_create(). +Files: src/buffer.c, src/proto/buffer.pro, src/evalfunc.c, + src/popupwin.c, src/vim.h, src/normal.c, src/screen.c, src/ui.c, + src/window.c, src/testdir/test_popupwin.vim, runtime/doc/popup.txt + +Patch 8.1.1613 +Problem: Popup window test fails with Athena and Motif. +Solution: Compute the highlight attribute when the GUI is not active. +Files: src/syntax.c + +Patch 8.1.1614 +Problem: 'numberwidth' can only go up to 10. +Solution: Allow up to 20. (Charlie Stanton, closes #4584) +Files: runtime/doc/options.txt, src/option.c, src/screen.c, + src/testdir/gen_opt_test.vim, src/testdir/test_options.vim + +Patch 8.1.1615 +Problem: Crash when passing buffer number to popup_create(). (Yasuhiro + Matsumoto) +Solution: Initialze the window properly. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1616 +Problem: Build failure with gcc on Amiga. +Solution: Add missing header includes. (Ola Söder, closes #4603) +Files: src/os_amiga.h + +Patch 8.1.1617 +Problem: No test for popup window with mask and position fixed. +Solution: Add a couple of screenshots. Fix detected problems. +Files: src/popupwin.c, src/structs.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_mask_1.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump + +Patch 8.1.1618 +Problem: Amiga-like systems quickly run out of stack. +Solution: Reserve a Megabyte stack. (Ola Söder, closes #4608) +Files: src/os_amiga.c + +Patch 8.1.1619 +Problem: Tests are not run with GUI on Travis. +Solution: Add a testgui job. (Ozaki Kiichi, closes #4609) +Files: .travis.yml, src/testdir/test_highlight.vim, + src/testdir/test_mapping.vim, src/testdir/test_timers.vim + +Patch 8.1.1620 +Problem: No test for popup window with border and mask. +Solution: Add this popup window, fix problems. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_mask_1.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump + +Patch 8.1.1621 +Problem: Amiga: time.h included twice. +Solution: Remove include from evalfunc.c, move outside of #ifdef in + os_amiga.h. (Ola Söder, closes #4607) +Files: src/evalfunc.c, src/os_amiga.h + +Patch 8.1.1622 +Problem: Wrong width if displaying a lot of lines in a popup window. +Solution: Accurately compute the line overflow. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_firstline.dump + +Patch 8.1.1623 +Problem: Display wrong with signs in narrow number column. +Solution: Increase the numbercolumn width if needed. (Yegappan Lakshmanan, + closes #4606) +Files: src/option.c, src/screen.c, src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1624 +Problem: When testing in the GUI may try to run gvim in a terminal. +Solution: Add the -v argument. (Yee Cheng Chin, closes #4605) Don't skip + tests that work now. +Files: src/testdir/shared.vim, src/testdir/term_util.vim, + src/testdir/test_mapping.vim, src/testdir/test_timers.vim + +Patch 8.1.1625 +Problem: Script line numbers are not exactly right. +Solution: Handle heredoc and continuation lines better. (Ozaki Kiichi, + closes #4611, closes #4511) +Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, + src/testdir/test_vimscript.vim, src/userfunc.c + +Patch 8.1.1626 +Problem: No test for closing a popup window with a modified buffer. +Solution: Add a test. Add "popups" to getbufinfo(). +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1627 +Problem: Header file contains mixed comment style. +Solution: Use // style comments. +Files: src/structs.h + +Patch 8.1.1628 +Problem: Popup window functions not in list of functions. +Solution: Add popup window functins to the list of functions. Reorganise + the popup window help. +Files: runtime/doc/eval.txt, runtime/doc/popup.txt, + runtime/doc/usr_41.txt + +Patch 8.1.1629 +Problem: Terminal function help is in the wrong file. +Solution: Move the function details to terminal.txt. +Files: runtime/doc/eval.txt, runtime/doc/terminal.txt + +Patch 8.1.1630 +Problem: Various small problems. +Solution: Various small improvements. +Files: src/gui_beval.c, src/list.c, src/menu.c, src/message.c, + src/misc2.c, src/testdir/test_terminal.vim, src/os_vms_conf.h, + src/testdir/Make_vms.mms + +Patch 8.1.1631 +Problem: Displaying signs is inefficient. +Solution: Avoid making multiple calls to get information about a placed + sign. (Yegappan Lakshmanan, closes #4586) +Files: src/proto/sign.pro, src/screen.c, src/sign.c, src/structs.h + +Patch 8.1.1632 +Problem: Build with EXITFREE but without +arabic fails. +Solution: Rename the function and adjust #ifdefs. (closes #4613) +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/misc2.c + +Patch 8.1.1633 +Problem: Cannot generate prototypes with X11 but without GUI. +Solution: Include X11/Intrinsic.h. +Files: src/gui.h + +Patch 8.1.1634 +Problem: Terminal test fails when term_getansicolors() is missing. + Diff test fails without +rightleft. (Dominique Pelle) +Solution: Check if term_getansicolors() is supported. (closes #4597) +Files: src/testdir/test_terminal.vim, src/testdir/test_diffmode.vim + +Patch 8.1.1635 +Problem: Warnings for unused variables in small version. (John Marriott) +Solution: Adjust #ifdefs. +Files: src/screen.c + +Patch 8.1.1636 +Problem: Crash when popup has fitting scrollbar. (Trygve Aaberge) +Solution: Don't divide by zero if the scrollbar just fits. (closes #4615) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1637 +Problem: After running tests and clean the XfakeHOME directory remains. +Solution: Use "rm -rf". (Hirohito Higashi) +Files: src/testdir/Makefile, src/testdir/Make_amiga.mak + +Patch 8.1.1638 +Problem: Running tests leaves some files behind. +Solution: Delete the files. (Ozaki Kiichi, closes #4617) +Files: src/testdir/test_functions.vim, src/testdir/test_popupwin.vim + +Patch 8.1.1639 +Problem: Changing an autoload name into a script file name is inefficient. +Solution: Remember the last replaced #. (Ozaki Kiichi, closes #4618) +Files: src/eval.c + +Patch 8.1.1640 +Problem: The CursorHold autocommand takes down a balloon. (Paul Jolly) +Solution: Ignore the CursorHold pseudo-key. +Files: src/getchar.c, src/testdir/test_balloon.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump + +Patch 8.1.1641 +Problem: Garbage collection may run at a wrong moment. (Trygve Aaberge) +Solution: Postpone garbage collection while parsing messages. (closes #4620) +Files: src/misc2.c + +Patch 8.1.1642 (after 8.1.0374) +Problem: May use uninitialized variable. (Patrick Palka) +Solution: Initialize variables earlier. (closes #4623) +Files: src/screen.c, src/testdir/test_number.vim + +Patch 8.1.1643 +Problem: Sign placement is wrong when 'foldcolumn' is set. +Solution: Adjust the column computation. (Yee Cheng Chin, closes #4627) +Files: src/gui.c + +Patch 8.1.1644 +Problem: Sound test does not work on Travis. +Solution: Use "sg" command to enable audio. (Ozaki Kiichi, closes #4624) +Files: .travis.yml + +Patch 8.1.1645 +Problem: Cannot use a popup window for a balloon. +Solution: Add popup_beval(). Add the "mousemoved" property. Add the + screenpos() function. +Files: src/popupwin.c, src/proto/popupwin.pro, src/move.c, + src/proto/move.pro, src/beval.c, src/proto/beval.pro, + src/evalfunc.c, src/popupmnu.c, src/normal.c, + src/testdir/test_popupwin.vim, src/testdir/test_cursor_func.vim, + runtime/doc/popup.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, + src/testdir/dumps/Test_popupwin_beval_1.dump, + src/testdir/dumps/Test_popupwin_beval_2.dump, + src/testdir/dumps/Test_popupwin_beval_3.dump + +Patch 8.1.1646 (after 8.1.1645) +Problem: build failure +Solution: Add changes to structure. +Files: src/structs.h + +Patch 8.1.1647 +Problem: Build error with GTK and hangulinput feature, im_get_status() + defined twice. (Dominique Pelle) +Solution: Adjust im_get_status(). (closes #4628) +Files: src/hangulin.c, src/mbyte.c + +Patch 8.1.1648 +Problem: MS-Windows: build error with normal feaures. +Solution: Adjust #ifdef for find_word_under_cursor(). +Files: src/beval.c, src/proto/beval.pro + +Patch 8.1.1649 +Problem: Illegal memory access when closing popup window. +Solution: Get w_next before closing the window. +Files: src/popupwin.c + +Patch 8.1.1650 +Problem: Warning for using uninitialized variable. (Tony Mechelynck) +Solution: Simplify the code by always using the mouse coordinates. +Files: src/beval.c + +Patch 8.1.1651 +Problem: Suspend test is flaky on some systems. +Solution: Wait for the shell prompt to show. (Yee Cheng Chin, closes #4632) +Files: src/testdir/test_suspend.vim + +Patch 8.1.1652 +Problem: GUI: popup window doesn't close on mouse movement. (Paul Jolly) +Solution: Generate mouse-move events when a popup window is visible. +Files: src/gui.c, src/globals.h + +Patch 8.1.1653 +Problem: Ubsan warns for possibly passing NULL pointer. +Solution: Skip code when length is zero. (Dominique Pelle, closes #4631) +Files: src/channel.c + +Patch 8.1.1654 +Problem: GUI: screen updates from 'balloonexpr' are not displayed. +Solution: Update the screen if needed. Also avoid the cursor being + displayed in the wrong position. +Files: src/beval.c + +Patch 8.1.1655 +Problem: Popup window border drawn wrong with multi-byte char. (Marcin + Szamotulski) +Solution: Correct check in mb_fix_col(). (closes #4635) +Files: src/mbyte.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_24.dump + +Patch 8.1.1656 +Problem: Popup window width is wrong when using Tabs. (Paul Jolly) +Solution: Count tabs correctly. (closes #4637) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_11.dump + +Patch 8.1.1657 +Problem: Terminal: screen updates from 'balloonexpr' are not displayed. +Solution: Update the screen if needed. Fix the word position for + "mousemoved". +Files: src/beval.c, src/proto/beval.pro, src/popupwin.c, src/normal.c, + src/proto/normal.pro + +Patch 8.1.1658 +Problem: Debug statements included in patch. +Solution: Remove the debug statements. +Files: src/normal.c, src/popupwin.c + +Patch 8.1.1659 +Problem: Popup window "mousemoved" values not correct. +Solution: Convert text column to mouse column. +Files: src/popupwin.c, runtime/doc/popup.txt + +Patch 8.1.1660 +Problem: Assert_fails() does not fail inside try/catch. +Solution: Set trylevel to zero. (Ozaki Kiichi, closes #4639) +Files: src/eval.c, src/testdir/test_assert.vim + +Patch 8.1.1661 +Problem: Cannot build with +textprop but without +balloon_eval. +Solution: Adjust #ifdefs. (closes #4645) +Files: src/proto.h + +Patch 8.1.1662 +Problem: Cannot build uninstal.exe with some version of MinGW. +Solution: Add -lole32. (Rene Nyffenegger, closes #4646) +Files: src/Make_cyg_ming.mak + +Patch 8.1.1663 +Problem: Compiler warning for using size_t. +Solution: Add type cast. (Mike Williams) +Files: src/popupwin.c + +Patch 8.1.1664 +Problem: GUI resize may cause changing Rows at a bad time. (Dominique + Pelle) +Solution: Postpone resizing while updating the screen. +Files: src/term.c + +Patch 8.1.1665 +Problem: Crash when popup window with mask is below the screen. +Solution: Correct boundary check. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_mask_5.dump + +Patch 8.1.1666 +Problem: Click in popup window scrollbar with border doesn't scroll. +Solution: Correct column for the border. (Naruhiko Nishino, closes #4650) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_9.dump + +Patch 8.1.1667 +Problem: Flags for Ex commands may clash with other symbols. +Solution: Prepend with EX_. +Files: src/ex_cmds.h, src/evalfunc.c, src/ex_docmd.c, src/ex_getln.c, + src/usercmd.c, src/syntax.c + +Patch 8.1.1668 +Problem: Popup window test is a bit flaky on some systems. +Solution: Clear the command line. (Naruhiko Nishino, closes #4656) +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1669 +Problem: Travis: test results section is closed even when some tests + failed. +Solution: Only close the section on success. (Daniel Hahler, closes #4659) +Files: .travis.yml + +Patch 8.1.1670 +Problem: Sign column not always properly aligned. +Solution: Use "col" only after it was calculated. (Yee Cheng Chin, + closes #4649) +Files: src/gui.c + +Patch 8.1.1671 +Problem: Copying a blob may result in it being locked. +Solution: Reset v_lock. (Ken Takata, closes #4648) +Files: src/blob.c, src/testdir/test_blob.vim + +Patch 8.1.1672 (after 8.1.1667) +Problem: "make cmdidxs" doesn't work. +Solution: Update macro names. (Naruhiko Nishino, closes #4660) +Files: src/create_cmdidxs.vim + +Patch 8.1.1673 +Problem: Cannot easily find the popup window at a certain position. +Solution: Add popup_locate(). +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1674 +Problem: Script to check a colorscheme can be improved. +Solution: Match the whole group name. Don't warn for what is usually omitted. +Files: runtime/colors/tools/check_colors.vim + +Patch 8.1.1675 +Problem: Listener list not correctly updated on listener_remove(). +Solution: Only set "prev" when not removing a listener. Return one if the + listener was found and removed. +Files: src/change.c + +Patch 8.1.1676 +Problem: "maxwidth" of popup window does not always work properly. +Solution: Adjust the computation. (Naruhiko Nishino, closes #4653) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump + +Patch 8.1.1677 +Problem: Tests get stuck when running into an existing swapfile. +Solution: Set v:swapchoice to "q" and report an error. (Daniel Hahler, + closes #4644) +Files: src/testdir/runtest.vim + +Patch 8.1.1678 +Problem: When using popup_menu() does not scroll to show the selected line. +Solution: Scroll the text. (Naruhiko Nishino, closes #4651) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_scroll_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_2.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_3.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_4.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_5.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_6.dump + +Patch 8.1.1679 +Problem: Test using SwapExists autocommand file may fail. +Solution: Remove the SwapExists autocommand. +Files: src/testdir/test_window_cmd.vim + +Patch 8.1.1680 +Problem: The command table is not well aligned. +Solution: Adjust indent. +Files: src/ex_cmds.h + +Patch 8.1.1681 +Problem: Insert stray "{" when listener gets buffer line. (Paul Jolly) +Solution: Flush the cached line after invoking listeners. (closes #4455) +Files: src/memline.c, src/testdir/test_listener.vim + +Patch 8.1.1682 +Problem: Placing a larger number of signs is slow. +Solution: Add functions for dealing with a list of signs. (Yegappan + Lakshmanan, closes #4636) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/sign.pro, src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1683 +Problem: Dictionary with string keys is longer than needed. +Solution: Use *{key: val} for literaly keys. +Files: runtime/doc/eval.txt, src/eval.c, src/dict.c, src/proto/dict.pro, + src/testdir/test_listdict.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump, + src/testdir/dumps/Test_popupwin_mask_5.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_4.dump + +Patch 8.1.1684 +Problem: Profiling functionality is spread out. +Solution: Put profiling functionality in profiler.c. (Yegappan Lakshmanan, + closes #4666) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_dice.mak, + src/Make_manx.mak, src/Make_morph.mak, src/Make_mvc.mak, + src/Make_sas.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/ex_cmds2.c, src/globals.h, src/profiler.c, src/proto.h, + src/proto/ex_cmds2.pro, src/proto/profiler.pro, + src/proto/userfunc.pro, src/structs.h, src/userfunc.c + +Patch 8.1.1685 +Problem: Missing file in distributed file list. +Solution: Add profiler.pro +Files: Filelist + +Patch 8.1.1686 +Problem: "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto) +Solution: Check for the "{". +Files: src/eval.c, src/testdir/test_listdict.vim + +Patch 8.1.1687 +Problem: The evalfunc.c file is too big. +Solution: Move testing support to a separate file. +Files: Filelist, src/evalfunc.c, src/eval.c, src/proto/eval.pro, + src/testing.c, src/proto/testing.pro, 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 + +Patch 8.1.1688 +Problem: Old makefiles are no longer useful. +Solution: Delete the makefiles, they most likely don't work anyway. +Files: Filelist, src/Make_dice.mak, src/Make_manx.mak, src/Make_sas.mak + +Patch 8.1.1689 +Problem: Profiling code is spread out. +Solution: Move more profiling code to profiler.c. (Yegappan Lakshmanan, + closes #4668) +Files: src/ex_cmds2.c, src/profiler.c, src/proto/ex_cmds2.pro, + src/proto/profiler.pro, src/proto/userfunc.pro, src/structs.h, + src/userfunc.c + +Patch 8.1.1690 +Problem: Default padding for popup window menu is too much. +Solution: Only add padding left and right. +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_2.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_3.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_4.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_5.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_6.dump + +Patch 8.1.1691 +Problem: Diff test fails on some systems. (Elimar Riesebieter) +Solution: Add a term_wait() call. +Files: src/testdir/test_diffmode.vim + +Patch 8.1.1692 +Problem: Using *{} for literal dict is not backwards compatible. (Yasuhiro + Matsumoto) +Solution: Use ~{} instead. +Files: runtime/doc/eval.txt runtime/doc/popup.txt, src/eval.c, + src/testdir/test_listdict.vim src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_mask_2.dump, + src/testdir/dumps/Test_popupwin_mask_3.dump, + src/testdir/dumps/Test_popupwin_mask_4.dump, + src/testdir/dumps/Test_popupwin_mask_5.dump, + src/testdir/dumps/Test_popupwin_scroll_2.dump, + src/testdir/dumps/Test_popupwin_scroll_3.dump, + src/testdir/dumps/Test_popupwin_scroll_4.dump + +Patch 8.1.1693 +Problem: Syntax coloring and highlighting is in one big file. +Solution: Move the highlighting to a separate file. (Yegappan Lakshmanan, + closes #4674) +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/globals.h, src/highlight.c, src/proto.h, + src/proto/highlight.pro, src/proto/syntax.pro, src/structs.h, + src/syntax.c + +Patch 8.1.1694 +Problem: The RUN_VIM variable is longer than needed. +Solution: Shorten RUN_VIM. (Daniel Hahler, closes #4643) +Files: src/testdir/Makefile, src/testdir/shared.vim + +Patch 8.1.1695 +Problem: Windows 10: crash when cursor is at bottom of terminal. +Solution: Position the cursor before resizing. (Yasuhiro Matsumoto, + closes #4679) +Files: src/os_win32.c + +Patch 8.1.1696 +Problem: MSVC: link command line is too long. +Solution: Use the @<< mechanism to pass the arguments via a file. (Christian + Brabandt) +Files: src/Make_mvc.mak + +Patch 8.1.1697 +Problem: Cannot build with MSVC. +Solution: Remove the backslashes after the @<< mechanism. +Files: src/Make_mvc.mak + +Patch 8.1.1698 +Problem: Appveyor build with MSVC fails. +Solution: Remove the sed command +Files: ci/appveyor.bat + +Patch 8.1.1699 +Problem: Highlight_ga can be local instead of global. +Solution: Move highlight_ga into highlight.c. (Yegappan Lakshmanan, + closes #4675) +Files: src/globals.h, src/highlight.c, src/proto/highlight.pro, + src/structs.h, src/syntax.c + +Patch 8.1.1700 +Problem: Listener callback called for the wrong buffer. +Solution: Invoke listeners before calling ml_append_int(). +Files: src/memline.c + +Patch 8.1.1701 +Problem: Appveyor build with MSVC fails puts progress bar in log. +Solution: Adjust the sed command. (Ken Takata) +Files: ci/appveyor.bat + +Patch 8.1.1702 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize it. (Christian Brabandt) +Files: src/gui.c + +Patch 8.1.1703 +Problem: Breaking out of loop by checking window pointer is insufficient. +Solution: Check the window ID and the buffer number. (closes #4683) +Files: src/misc2.c + +Patch 8.1.1704 +Problem: C-R C-W does not work after C-G when using 'incsearch'. +Solution: Put cursor at end of the match. (Yasuhiro Matsumoto, closes #4664) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.1.1705 +Problem: Using ~{} for a literal dict is not nice. +Solution: Use #{} instead. +Files: runtime/doc/eval.txt runtime/doc/popup.txt, src/eval.c, + src/testdir/test_listdict.vim src/testdir/test_popupwin.vim + +Patch 8.1.1706 +Problem: Typo in #ifdef. +Solution: Change PROT to PROTO. +Files: src/beval.c + +Patch 8.1.1707 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Change the logic to make sure no NULL pointer is used. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1708 +Problem: Coverity warns for using uninitialized variable. +Solution: Set the start col when col is set. +Files: src/beval.c + +Patch 8.1.1709 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Make sure no NULL pointer is used. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1710 +Problem: Coverity found dead code. +Solution: Remove merging of listener changes. +Files: src/change.c + +Patch 8.1.1711 +Problem: Listener callback called at the wrong moment +Solution: Invoke listeners before calling ml_delete_int(). (closes #4657) +Files: src/memline.c + +Patch 8.1.1712 +Problem: Signs in number column cause text to be misaligned. +Solution: Improve alignment. (Yasuhiro Matsumoto, closes #4694) +Files: src/screen.c, src/testdir/test_signs.vim + +Patch 8.1.1713 +Problem: Highlighting cursor line only works with popup_menu(). +Solution: Add the "cursorline" property. (Naruhiko Nishino, closes #4671) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/dumps/Test_popupwin_cursorline_1.dump, + src/testdir/dumps/Test_popupwin_cursorline_2.dump, + src/testdir/dumps/Test_popupwin_cursorline_3.dump, + src/testdir/dumps/Test_popupwin_cursorline_4.dump, + src/testdir/dumps/Test_popupwin_cursorline_5.dump, + src/testdir/dumps/Test_popupwin_cursorline_6.dump, + src/testdir/dumps/Test_popupwin_menu_filter_1.dump, + src/testdir/dumps/Test_popupwin_menu_filter_2.dump, + src/testdir/dumps/Test_popupwin_menu_filter_3.dump, + src/testdir/dumps/Test_popupwin_menu_filter_4.dump, + src/testdir/test_popupwin.vim, src/vim.h + +Patch 8.1.1714 +Problem: Cannot preview a file in a popup window. +Solution: Add the 'previewpopup' option. +Files: runtime/doc/windows.txt, runtime/doc/options.txt, src/popupwin.c, + src/proto/popupwin.pro, src/option.c, src/option.h, src/ex_cmds.c, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/ex_docmd.c, src/testdir/gen_opt_test.vim + +Patch 8.1.1715 +Problem: Emoji characters are seen as word characters for spelling. (Gautam + Iyer) +Solution: Exclude class 3 from word characters. +Files: src/spell.c + +Patch 8.1.1716 +Problem: Old style comments are wasting space +Solution: Use new style comments in option header file. (closes #4702) +Files: src/option.h + +Patch 8.1.1717 +Problem: Last char in menu popup window highlighted. +Solution: Do not highlight an extra character twice. +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_menu_04.dump + +Patch 8.1.1718 +Problem: Popup menu highlighting does not look good. +Solution: Highlight the whole window line. Fix that sign line HL is not + displayed in a window with a background color. +Files: src/popupwin.c, src/sign.c, src/proto/sign.pro, src/screen.c, + src/testdir/dumps/Test_popupwin_menu_scroll_1.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_2.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_3.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_4.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_5.dump, + src/testdir/dumps/Test_popupwin_menu_scroll_6.dump, + src/testdir/dumps/Test_popupwin_menu_01.dump, + src/testdir/dumps/Test_popupwin_menu_02.dump, + src/testdir/dumps/Test_popupwin_menu_04.dump + +Patch 8.1.1719 +Problem: Popup too wide when 'showbreak' is set. +Solution: Set window width when computing line length. (closes #4701) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_showbreak.dump + +Patch 8.1.1720 +Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani) +Solution: Check for reg_toolong. (closes #4703) +Files: src/regexp.c, src/testdir/test_regexp_utf8.vim + +Patch 8.1.1721 +Problem: Build failure with normal features without netbeans interface. +Solution: Enable signs when using the text properties feature. +Files: src/feature.h + +Patch 8.1.1722 +Problem: Error when scriptversion is 2 a making a dictionary access. +Solution: Parse the subscript even when not evaluating the sub-expression. + (closes #4704) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.1723 +Problem: Heredoc assignment has no room for new features. (FUJIWARA Takuya) +Solution: Require the marker does not start with a lower case character. + (closes #4705) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_let.vim + +Patch 8.1.1724 +Problem: Too much overhead checking for CTRL-C while processing text. +Solution: Increase BREAKCHECK_SKIP. Remove the difference for when built + with the GUI. (suggested by Andy Massimino, closes #4708) +Files: src/misc1.c, src/screen.c, src/feature.h + +Patch 8.1.1725 +Problem: MS-Windows: E325 message may use incorrect date format. +Solution: Convert strftime() result to 'encoding'. Also make the message + translatable. (Ken Takata, closes #4685, closes #4681) +Files: src/memline.c + +Patch 8.1.1726 +Problem: The eval.txt help file is too big. +Solution: Split off testing support to testing.txt. Move function details + to where the functionality is explained. +Files: runtime/doc/Makefile, runtime/doc/eval.txt, + runtime/doc/testing.txt, runtime/doc/sign.txt, + runtime/doc/textprop.txt, runtime/doc/help.txt, + runtime/doc/channel.txt, runtime/doc/tags + +Patch 8.1.1727 +Problem: Code for viminfo support is spread out. +Solution: Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/buffer.c, + src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/globals.h, + src/proto.h, src/proto/buffer.pro, src/proto/eval.pro, + src/proto/ex_cmds.pro, src/proto/viminfo.pro, src/structs.h, + src/viminfo.c + +Patch 8.1.1728 +Problem: Wrong place for command line history viminfo support. +Solution: Move it to viminfo.c. +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/viminfo.c, + src/structs.h + +Patch 8.1.1729 +Problem: Heredoc with trim not properly handled in function. +Solution: Allow for missing indent. (FUJIWARA Takuya, closes #4713) +Files: src/userfunc.c, src/testdir/test_let.vim + +Patch 8.1.1730 +Problem: Wrong place for mark viminfo support. +Solution: Move it to viminfo.c. (Yegappan Lakshmanan, closes #4716) +Files: src/README.md, src/mark.c, src/proto/mark.pro, + src/proto/viminfo.pro, src/structs.h, src/viminfo.c + +Patch 8.1.1731 +Problem: Command line history not read from viminfo on startup. +Solution: Get history length after initializing it. +Files: src/viminfo.c, src/testdir/test_viminfo.vim + +Patch 8.1.1732 +Problem: Completion in cmdwin does not work for buffer-local commands. +Solution: Use the right buffer. (closes #4711) +Files: src/usercmd.c, src/testdir/test_ins_complete.vim + +Patch 8.1.1733 +Problem: The man ftplugin leaves an empty buffer behind. +Solution: Don't make new window and edit, use split. (Jason Franklin) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim + +Patch 8.1.1734 +Problem: The evalfunc.c file is too big. +Solution: Move some functions to other files. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/json.c, + src/proto/json.pro src/window.c, src/proto/window.pro, + src/highlight.c, src/proto/highlight.pro, src/globals.h + +Patch 8.1.1735 (after 8.1.1734) +Problem: Can't build with tiny features. +Solution: Add missing #ifdefs. +Files: src/json.c, src/highlight.c + +Patch 8.1.1736 +Problem: Viminfo support is spread out. +Solution: Move more viminfo code to viminfo.c. (Yegappan Lakshmanan, + closes #4717) Reorder code to make most functions static. +Files: src/fileio.c, src/ops.c, src/option.c, src/proto/ops.pro, + src/proto/option.pro, src/proto/search.pro, src/proto/viminfo.pro, + src/search.c, src/structs.h, src/viminfo.c, src/ex_cmds.c, + src/proto/ex_cmds.pro + +Patch 8.1.1737 +Problem: :args command that outputs one line gives more prompt. +Solution: Only output line break if needed. (Daniel Hahler, closes #4715) +Files: src/version.c, src/testdir/test_arglist.vim + +Patch 8.1.1738 +Problem: Testing lambda with timer is slow. +Solution: Do not test timer accuracy, only that it works. (Daniel Hahler, + closes #4723) +Files: src/testdir/test_lambda.vim + +Patch 8.1.1739 +Problem: Deleted match highlighting not updated in other window. +Solution: Mark the window for refresh. (closes #4720) Also fix that + ambi-width check clears with wrong attributes. +Files: src/term.c, src/highlight.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_matchdelete_1.dump + +Patch 8.1.1740 +Problem: Exepath() doesn't work for "bin/cat". +Solution: Check for any path separator. (Daniel Hahler, closes #4724, + closes #4710) +Files: src/evalfunc.c, src/os_unix.c, src/testdir/test_functions.vim + +Patch 8.1.1741 +Problem: Cleared/added match highlighting not updated in other window. + (Andi Massimino) +Solution: Mark the right window for refresh. +Files: src/highlight.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_matchclear_1.dump, + src/testdir/dumps/Test_matchadd_1.dump + +Patch 8.1.1742 +Problem: Still some match functions in evalfunc.c. +Solution: Move them to highlight.c. +Files: src/evalfunc.c, src/highlight.c, src/proto/highlight.pro, + src/ex_docmd.c + +Patch 8.1.1743 +Problem: 'hlsearch' and match highlighting in the wrong place. +Solution: Move highlighting from inside screen functions to highlight.c. +Files: src/screen.c, src/highlight.c, src/proto/highlight.pro + +Patch 8.1.1744 +Problem: Build error without the conceal feature. +Solution: Define variables also without the conceal feature. +Files: src/screen.c + +Patch 8.1.1745 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. Change comments to new style. +Files: src/highlight.c + +Patch 8.1.1746 +Problem: ":dl" is seen as ":dlist" instead of ":delete". +Solution: Do not use cmdidxs2[] if the length is 1. (closes #4721) +Files: src/ex_docmd.c, src/testdir/test_excmd.vim, + src/testdir/Make_all.mak + +Patch 8.1.1747 +Problem: Compiler warning for unused variables. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.1748 (after 8.1.1737) +Problem: :args output is not aligned. +Solution: Output a line break after the last item in a row. +Files: src/version.c + +Patch 8.1.1749 +Problem: Coverity warns for using negative index. +Solution: Move using index inside "if". +Files: src/viminfo.c + +Patch 8.1.1750 +Problem: Depending on the terminal width :version may miss a line break. +Solution: Add a line break when needed. +Files: src/version.c + +Patch 8.1.1751 +Problem: When redrawing popups plines_win() may be called often. +Solution: Pass a cache to mouse_comp_pos(). +Files: src/ui.c, src/proto/ui.pro, src/beval.c, src/evalfunc.c, + src/popupwin.c + +Patch 8.1.1752 +Problem: Resizing hashtable is inefficient. +Solution: Avoid resizing when the final size is predictable. +Files: src/hashtab.c, src/proto/hashtab.pro, src/popupwin.c + +Patch 8.1.1753 +Problem: Use of popup window mask is inefficient. +Solution: Precompute and cache the mask. +Files: src/popupwin.c + +Patch 8.1.1754 (after 8.1.1753) +Problem: Build failure. +Solution: Add missing change to window struct. +Files: src/structs.h + +Patch 8.1.1755 +Problem: Leaking memory when using a popup window mask. +Solution: Free the cached mask. +Files: src/window.c + +Patch 8.1.1756 +Problem: Autocommand that splits window messes up window layout. +Solution: Disallow splitting a window while closing one. In ":all" give an + error when moving a window will not work. +Files: src/buffer.c, src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.1.1757 +Problem: Text added with appendbufline() to another buffer isn't displayed. +Solution: Update topline. (partly by Christian Brabandt, closes #4718) +Files: src/evalfunc.c, src/testdir/test_bufline.vim, + src/testdir/dumps/Test_appendbufline_1.dump + +Patch 8.1.1758 +Problem: Count of g$ not used correctly when text is not wrapped. +Solution: Do use the count. (Christian Brabandt, closes #4729, closes #4566) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.1.1759 +Problem: No mode char for terminal mapping from maparg(). +Solution: Check for TERMINAL mode. (closes #4735) +Files: src/getchar.c, src/testdir/test_maparg.vim + +Patch 8.1.1760 +Problem: Extra line break for wrapping output of :args. +Solution: Avoid the extra line break. (Daniel Hahler, closes #4737) +Files: src/version.c, src/testdir/test_arglist.vim + +Patch 8.1.1761 +Problem: Filetype "vuejs" causes problems for some users. +Solution: Rename to "vue". +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.1762 +Problem: Some filetype rules are in the wrong place. +Solution: Move to the right place. Add a few more tests. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.1763 +Problem: Evalfunc.c is still too big. +Solution: Move dict and list functions to a better place. +Files: src/evalfunc.c, src/dict.c, src/proto/dict.pro, src/list.c, + src/proto/list.pro, src/blob.c, src/proto/blob.pro + +Patch 8.1.1764 +Problem: ":browse oldfiles" is not tested. +Solution: Add a test. +Files: src/testdir/test_viminfo.vim + +Patch 8.1.1765 +Problem: get(func, dict, def) does not work properly. +Solution: Handle NULL dict better. (Takuya Fujiwara, closes #4734) +Files: src/evalfunc.c, src/testdir/test_getvar.vim, + src/testdir/test_partial.vim + +Patch 8.1.1766 +Problem: Code for writing session file is spread out. +Solution: Put it in one file. (Yegappan Lakshmanan, closes #4728) +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/ex_docmd.c, src/misc2.c, src/proto.h, + src/proto/eval.pro, src/proto/misc2.pro, src/proto/session.pro, + src/session.c + +Patch 8.1.1767 +Problem: FEAT_SESSION defined separately. +Solution: Make FEAT_SESSION depend on FEAT_EVAL. +Files: src/feature.h, src/session.c, src/evalfunc.c, src/ex_docmd.c, + src/gui_gtk_x11.c, src/proto.h + +Patch 8.1.1768 +Problem: Man plugin changes setting in current window. +Solution: Set options later. (Jason Franklin) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim + +Patch 8.1.1769 +Problem: 'shellslash' is also used for completion. +Solution: Add the 'completeslash' option. (Yasuhiro Matsumoto, closes #3612) +Files: runtime/doc/options.txt, src/ex_getln.c, src/insexpand.c, + src/option.c, src/option.h, src/structs.h, + src/testdir/test_ins_complete.vim + +Patch 8.1.1770 +Problem: Cannot get the window ID of the popup preview window. +Solution: Add popup_getpreview(). +Files: src/evalfunc.c, src/popupwin.c, src/proto/popupwin.pro, + runtime/doc/eval.txt, runtime/doc/popup.txt, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump + +Patch 8.1.1771 +Problem: Options test fails on MS-Windows. +Solution: Add correct and incorrect values for 'completeslash'. +Files: src/testdir/gen_opt_test.vim + +Patch 8.1.1772 +Problem: Options test still fails on MS-Windows. +Solution: Check buffer-local value of 'completeslash'. +Files: src/option.c + +Patch 8.1.1773 +Problem: The preview popup window may be too far to the right. +Solution: Keep it inside the screen. Also keep the close button and + scrollbar visible if possible. +Files: src/popupwin.c, src/proto/popupwin.pro, src/ex_cmds.c, + src/screen.c, src/vim.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump + +Patch 8.1.1774 +Problem: Test is silently skipped. +Solution: Throw "Skipped". +Files: src/testdir/test_ins_complete.vim + +Patch 8.1.1775 +Problem: Error message may be empty in filetype test. +Solution: Use v:exception instead. (Daniel Hahler, closs #4744) +Files: src/testdir/test_filetype.vim + +Patch 8.1.1776 +Problem: Text added with a job to another buffer isn't displayed. +Solution: Update topline after adding a line. (closes #4745) +Files: src/channel.c, src/testdir/test_channel.vim, src/testdir/check.vim, + src/testdir/dumps/Test_job_buffer_scroll_1.dump + +Patch 8.1.1777 +Problem: Useless checks for job feature in channel test. +Solution: Remove the checks. Remove ch_log() calls. +Files: src/testdir/test_channel.vim + +Patch 8.1.1778 +Problem: Not showing the popup window right border is confusing. +Solution: Also show the border when there is no close button. (closes #4747) +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1779 +Problem: Not showing the popup window right border is confusing. +Solution: Also show the border when 'wrap' is off. (closes #4747) +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1780 +Problem: Warning for file no longer available is repeated every time Vim is + focused. (Brian Armstrong) +Solution: Only give the message once. (closes #4748) +Files: src/fileio.c + +Patch 8.1.1781 +Problem: Amiga: no builtin OS readable version info. +Solution: Add a "version" variable. (Ola Söder, closes #4753) +Files: src/os_amiga.c + +Patch 8.1.1782 +Problem: MS-Windows: system() has temp file error with 'noshelltemp'. +Solution: Check s_dont_use_vimrun. (Ken Takata, closes #4754) +Files: src/os_win32.c + +Patch 8.1.1783 +Problem: MS-Windows: compiler test may fail when using %:S. +Solution: Reset 'shellslash'. +Files: src/testdir/test_compiler.vim + +Patch 8.1.1784 +Problem: MS-Windows: resolve() does not work if serial nr duplicated. +Solution: Use another method to get the full path. (Ken Takata, closes #4661) +Files: src/os_mswin.c + +Patch 8.1.1785 +Problem: Map functionality mixed with character input. +Solution: Move the map functionality to a separate file. (Yegappan + Lakshmanan, closes #4740) Graduate the +localmap feature. +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/buffer.c, src/feature.h, src/evalfunc.c, src/ex_docmd.c, + src/getchar.c, src/map.c, src/proto.h, src/proto/getchar.pro, + src/proto/map.pro, src/version.c, src/structs.h + +Patch 8.1.1786 +Problem: Double click in popup scrollbar starts selection. +Solution: Ignore the double click. +Files: src/ui.c, src/popupwin.c, src/proto/popupwin.pro + +Patch 8.1.1787 +Problem: Cannot resize a popup window. +Solution: Allow for resizing by dragging the lower right corncer. +Files: runtime/doc/popup.txt, src/popupwin.c, src/structs.h, src/vim.h, + src/ui.c src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump, + src/testdir/dumps/Test_popupwin_drag_03.dump, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump + +Patch 8.1.1788 (after 8.1.1787) +Problem: missing changes in proto file +Solution: Update proto file. +Files: src/proto/popupwin.pro + +Patch 8.1.1789 +Problem: Cannot see file name of preview popup window. +Solution: Add the file name as the title. +Files: src/ex_cmds.c, src/popupwin.c, src/proto/popupwin.pro, + src/fileio.c, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + 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.1.1790 +Problem: :mkvimrc is not tested. +Solution: Add a test. +Files: src/testdir/test_mksession.vim + +Patch 8.1.1791 +Problem: 'completeslash' also applies to globpath(). +Solution: Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro + Matsumoto, closes #4760) +Files: src/testdir/test_ins_complete.vim, src/ex_getln.c, src/evalfunc.c, + src/vim.h + +Patch 8.1.1792 +Problem: The vgetorpeek() function is too long. +Solution: Split off the part that handles mappings. +Files: src/getchar.c + +Patch 8.1.1793 +Problem: Mixed comment style in globals. +Solution: Use // comments where appropriate. +Files: src/globals.h + +Patch 8.1.1794 (after 8.1.1792) +Problem: Tests are flaky. +Solution: Undo the change to vgetorpeek(). +Files: src/getchar.c + +Patch 8.1.1795 +Problem: No syntax HL after splitting windows with :bufdo. (Yasuhiro + Matsumoto) +Solution: Trigger Syntax autocommands in buffers that are active. + (closes #4761) +Files: src/vim.h, src/option.c, src/ex_cmds2.c, + src/testdir/test_syntax.vim + +Patch 8.1.1796 +Problem: :argdo is not tested +Solution: Add a test. +Files: src/testdir/test_arglist.vim + +Patch 8.1.1797 (after 8.1.1794) +Problem: The vgetorpeek() function is too long. +Solution: Split off the part that handles mappings, with fix. +Files: src/getchar.c + +Patch 8.1.1798 +Problem: Warning for unused variable in tiny version. (Tony Mechelynck) +Solution: Move inside #ifdef. Reformat code. +Files: src/getchar.c + +Patch 8.1.1799 +Problem: Cannot avoid mapping for a popup window. +Solution: Add the "mapping" property, default TRUE. +Files: runtime/doc/popup.txt, src/getchar.c, src/popupwin.c, src/vim.h, + src/proto/popupwin.pro, src/testdir/test_popupwin.vim + +Patch 8.1.1800 +Problem: Function call functions have too many arguments. +Solution: Pass values in a funcexe_T struct. +Files: src/eval.c, src/structs.h, src/userfunc.c, src/proto/userfunc.pro, + src/list.c, src/regexp.c, src/terminal.c, src/change.c, + src/ex_cmds2.c, src/popupwin.c, src/channel.c + +Patch 8.1.1801 +Problem: Cannot build without the +eval feature. +Solution: Always define funcexe_T. +Files: src/structs.h + +Patch 8.1.1802 +Problem: Missing change to call_callback(). +Solution: Add missing change. +Files: src/sound.c + +Patch 8.1.1803 +Problem: All builtin functions are global. +Solution: Add the method call operator ->. Implemented for a limited number + of functions. +Files: runtime/doc/eval.txt, src/eval.c, src/structs.h, src/userfunc.c, + src/globals.h, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_method.vim, src/testdir/Make_all.mak + +Patch 8.1.1804 +Problem: No test for display updating without a scroll region. +Solution: Add a test. +Files: src/testdir/test_display.vim, src/testdir/check.vim, + src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_scroll_no_region_1.dump, + src/testdir/dumps/Test_scroll_no_region_2.dump, + src/testdir/dumps/Test_scroll_no_region_3.dump + +Patch 8.1.1805 +Problem: Au_did_filetype is declared twice. +Solution: Remove it from autocmd.c. (closes #4767) +Files: src/globals.h, src/autocmd.c + +Patch 8.1.1806 +Problem: Test for display updating doesn't check without statusline. +Solution: Add screenshots without a status line. +Files: src/testdir/test_display.vim, + src/testdir/dumps/Test_scroll_no_region_4.dump, + src/testdir/dumps/Test_scroll_no_region_5.dump, + src/testdir/dumps/Test_scroll_no_region_6.dump + +Patch 8.1.1807 +Problem: More functions can be used as a method. +Solution: Add append(), appendbufline(), assert_equal(), etc. + Also add the :eval command. +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_method.vim, src/ex_cmds.h, src/ex_eval.c, + src/proto/ex_eval.pro, src/ex_cmdidxs.h + +Patch 8.1.1808 +Problem: Build failure for tiny version. +Solution: Define ex_eval to ex_ni. Clean up the ordering a bit. +Files: src/ex_docmd.c + +Patch 8.1.1809 +Problem: More functions can be used as a method. +Solution: Add has_key(), split(), str2list(), etc. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_method.vim, + src/testdir/test_diffmode.vim, src/testdir/test_syntax.vim, + src/testdir/test_system.vim + +Patch 8.1.1810 +Problem: Popup_getoptions() is missing an entry for "mapping". +Solution: Add the entry. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1811 +Problem: Popup window color cannot be set to "Normal". +Solution: Check for non-empty 'wincolor' instead of zero attribute. + (closes #4772) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.1.1812 +Problem: Reading a truncted undo file hangs Vim. +Solution: Check for reading EOF. (closes #4769) +Files: src/undo.c, src/testdir/test_undo.vim + +Patch 8.1.1813 +Problem: ATTENTION prompt for a preview popup window. +Solution: Close the popup window if aborting the buffer load. Avoid getting + the ATTENTION dialog. +Files: src/tag.c, src/ex_cmds.c, src/memline.c, src/vim.h, + runtime/doc/windows.txt + +Patch 8.1.1814 +Problem: A long title in a popup window overflows. +Solution: Truncate the title. (closes #4770) +Files: src/testdir/test_popupwin.vim, src/popupwin.c, + src/testdir/dumps/Test_popupwin_longtitle_1.dump, + src/testdir/dumps/Test_popupwin_longtitle_2.dump + +Patch 8.1.1815 +Problem: Duplicating info for internal functions. +Solution: Use one table to list internal functions. +Files: src/evalfunc.c + +Patch 8.1.1816 +Problem: Cannot use a user defined function as a method. +Solution: Pass the base as the first argument to the user defined function + after "->". (partly by FUJIWARA Takuya) +Files: src/eval.c, src/userfunc.c, src/testdir/test_user_func.vim, + src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/foo.vim + +Patch 8.1.1817 +Problem: Github contribution text is incomplete. +Solution: Update the text. +Files: CONTRIBUTING.md + +Patch 8.1.1818 +Problem: Unused variable. +Solution: Remove the variable. (Mike Williams) +Files: src/sound.c + +Patch 8.1.1819 +Problem: :pedit does not work with a popup preview window. +Solution: Avoid aborting with an error. (fixes #4777) Also double check + that after prepare_tagpreview() the current window is not a + popup window. +Files: src/ex_docmd.c, src/popupmenu.c, src/search.c, src/tag.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_6.dump, + src/testdir/dumps/Test_popupwin_previewpopup_7.dump, + src/testdir/dumps/Test_popupwin_previewpopup_8.dump + +Patch 8.1.1820 +Problem: Using expr->FuncRef() does not work. +Solution: Make FuncRef work as a method. +Files: src/eval.c, src/userfunc.c, src/testdir/test_method.vim + +Patch 8.1.1821 +Problem: No test for wrong number of method arguments. +Solution: Add a test. +Files: src/testdir/test_method.vim + +Patch 8.1.1822 +Problem: Confusing error message when range is not allowed. +Solution: With ADDR_NONE give e_norange. Change e_invaddr to e_invrange for + consistency. +Files: src/ex_docmd.c, src/globals.h, src/testdir/test_excmd.vim + +Patch 8.1.1823 +Problem: Command line history code is spread out. +Solution: Put the code in a new file. (Yegappan Lakshmanan, closes #4779) + Also graduate the +cmdline_hist feature. +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/cmdhist.c, src/ex_getln.c, src/proto.h, src/proto/cmdhist.pro, + src/proto/ex_getln.pro, src/version.c, src/evalfunc.c, + src/ex_cmds.c, src/ex_docmd.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/search.c, src/tag.c, src/usercmd.c, + src/viminfo.c, src/feature.h, src/globals.h + +Patch 8.1.1824 +Problem: Crash when correctly spelled word is very long. (Ben Kraft) +Solution: Check word length before copying. (closes #4778) +Files: src/spell.c, src/testdir/test_spell.vim + +Patch 8.1.1825 +Problem: Allocating more memory than needed for extended structs. +Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, + closes #4785) +Files: src/dict.c + +Patch 8.1.1826 +Problem: Tests use hand coded feature and option checks. +Solution: Use the commands from check.vim in more tests. +Files: src/testdir/check.vim, src/testdir/shared.vim, + src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim, + src/testdir/test_balloon.vim, src/testdir/test_breakindent.vim, + src/testdir/test_bufline.vim, src/testdir/test_cdo.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_conceal.vim, src/testdir/test_cscope.vim, + src/testdir/test_debugger.vim, src/testdir/test_filechanged.vim, + src/testdir/test_fold.vim, src/testdir/test_functions.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim, + src/testdir/test_highlight.vim, src/testdir/test_mapping.vim, + src/testdir/test_match.vim, src/testdir/test_memory_usage.vim, + src/testdir/test_options.vim, src/testdir/test_paste.vim, + src/testdir/test_popup.vim, src/testdir/test_search.vim, + src/testdir/test_signals.vim, src/testdir/test_startup.vim, + src/testdir/test_syntax.vim, src/testdir/test_termcodes.vim, + src/testdir/test_terminal.vim, src/testdir/test_timers.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.1827 +Problem: Allocating more memory than needed for extended structs. +Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, + closes #4786) +Files: src/getchar.c, src/regexp.c, src/sign.c, src/structs.h, + src/syntax.c, src/textprop.c, src/userfunc.c + +Patch 8.1.1828 +Problem: Not strict enough checking syntax of method invocation. +Solution: Check there is no white space inside ->method(. +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_method.vim + +Patch 8.1.1829 +Problem: Difference in screenshots. +Solution: Update screenshots. Change checks in a few more tests. + (closes #4789) +Files: src/testdir/test_balloon_gui.vim, + src/testdir/test_shortpathname.vim, + src/testdir/test_windows_home.vim, + src/testdir/dumps/Test_popupwin_previewpopup_1.dump, + 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.1.1830 +Problem: Travis does not report error when tests fail. +Solution: Explicitly do "exit 1". +Files: .travis.yml + +Patch 8.1.1831 +Problem: Confusing skipped message. +Solution: Drop "run" from "run start the GUI". +Files: src/testdir/check.vim + +Patch 8.1.1832 +Problem: Win_execute() does not work in other tab. (Rick Howe) +Solution: Take care of the tab. (closes #4792) +Files: src/testdir/test_execute_func.vim, src/evalfunc.c, src/window.c, + src/proto/window.pro + +Patch 8.1.1833 +Problem: Allocating a bit too much when spellbadword() does not find a bad + word. +Solution: Reset "len" when going to the next word. (Daniel Hahler, + closes #4788) +Files: src/evalfunc.c + +Patch 8.1.1834 +Problem: Cannot use a lambda as a method. +Solution: Implement ->{lambda}(). (closes #4768) +Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_method.vim + +Patch 8.1.1835 +Problem: Cannot use printf() as a method. +Solution: Pass the base as the second argument to printf(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_method.vim + +Patch 8.1.1836 +Problem: Inaccurate memory estimate for Amiga-like OS. +Solution: Adjust #ifdef for AvailMem(). (Ola Söder, closes #4797) +Files: src/os_amiga.c + +Patch 8.1.1837 +Problem: Popup test fails if clipboard is supported but not working. +Solution: Add the "clipboard_working" feature. Also use Check commands + instead of "if" and "throw". And remove stray ch_logfile(). +Files: src/testdir/test_popupwin.vim, src/evalfunc.c, + runtime/doc/eval.txt + +Patch 8.1.1838 +Problem: There is :spellwrong and :spellgood but not :spellrare. +Solution: Add :spellrare. (Martin Tournoij, closes #4291) +Files: runtime/doc/spell.txt, src/ex_cmdidxs.h, src/ex_cmds.h, + src/normal.c, src/proto/spellfile.pro, src/spellfile.c, + src/spell.h, src/testdir/Make_all.mak, + src/testdir/test_normal.vim, src/testdir/test_spellfile.vim + +Patch 8.1.1839 +Problem: Insufficient info when test fails because of screen size. +Solution: Report the detected screen size. +Files: src/testdir/runtest.vim + +Patch 8.1.1840 +Problem: Testing: WorkingClipboard() is not accurate. +Solution: Check feature clipboard_working instead. +Files: src/testdir/shared.vim, src/testdir/test_paste.vim, + src/testdir/test_quotestar.vim, src/testdir/test_termcodes.vim + +Patch 8.1.1841 +Problem: No test for Ex shift commands. +Solution: Add a test. (Dominique Pelle, closes #4801) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_shift.vim + +Patch 8.1.1842 +Problem: Test listed as flaky should no longer be flaky. +Solution: Remove Test_popup_and_window_resize from the list of flaky tests. + (Daniel Hahler, close #4807) +Files: src/testdir/runtest.vim + +Patch 8.1.1843 +Problem: Might be freeing memory that was not allocated. +Solution: Have next_fenc() set the fenc_alloced flag. (closes #4804) +Files: src/fileio.c + +Patch 8.1.1844 +Problem: Buffer no longer unloaded when adding text properties to it. +Solution: Do not create the memfile. (closes #4808) +Files: runtime/doc/textprop.txt, src/testdir/test_textprop.vim, + src/textprop.c + +Patch 8.1.1845 +Problem: May use NULL pointer when running out of memory. +Solution: Do not clear popup buffers when NULL. (closes #4802) +Files: src/screen.c + +Patch 8.1.1846 +Problem: Inconsistently using GetVimCommand() and v:progpath. (Daniel + Hahler) +Solution: Use GetVimCommand(). (closes #4806) +Files: src/testdir/test_autocmd.vim, src/testdir/test_gui.vim, + src/testdir/test_normal.vim, src/testdir/test_profile.vim, + src/testdir/test_suspend.vim, src/testdir/test_system.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.1847 +Problem: Suspend test is failing. +Solution: Do not use GetVimCommandClean(). +Files: src/testdir/test_suspend.vim + +Patch 8.1.1848 +Problem: 'langmap' is not used for CTRL-W command in terminal. +Solution: Push the command in the typeahead buffer instead of the stuff + buffer. (closes #4814) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.1849 +problem: Some insert complete functions in the wrong file. +Solution: Move complete functions to insexpand.c. (Yegappan Lakshmanan, + closes #4815) +Files: src/evalfunc.c, src/insexpand.c, src/proto/insexpand.pro + +Patch 8.1.1850 +Problem: Focus may remain in popup window. +Solution: Change focus if needed. +Files: src/popupmnu.c + +Patch 8.1.1851 +Problem: Crash when sound_playfile() callback plays sound. +Solution: Invoke callback later from event loop. +Files: src/testdir/test_sound.vim, src/ui.c, src/sound.c, + src/proto/sound.pro, src/feature.h, src/os_unix.c, src/ex_docmd.c, + src/misc2.c + +Patch 8.1.1852 +Problem: Timers test is flaky. +Solution: Accept a larger count. Add test to list of flaky tests. +Files: src/testdir/test_timers.vim, src/testdir/runtest.vim + +Patch 8.1.1853 +Problem: Timers test is still flaky. +Solution: Compute the time to sleep more accurately. +Files: src/ex_docmd.c + +Patch 8.1.1854 +Problem: Now another timer test is flaky. +Solution: Add test to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.1855 +Problem: Another failing timer test. +Solution: Assert that timers are finished by the end of the test. Rename + test functions to make them easier to find. +Files: src/testdir/test_timers.vim, src/testdir/runtest.vim + +Patch 8.1.1856 +Problem: popup preview test fails sometimes. (Christian Brabandt) +Solution: Clear the command line. +Files: src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_6.dump + +Patch 8.1.1857 +Problem: Cannot use modifier with multi-byte character. +Solution: Allow using a multi-byte character, although it doesn't work + everywhere. +Files: src/misc2.c, src/testdir/test_mapping.vim + +Patch 8.1.1858 +Problem: Test for multi-byte mapping fails on some systems. +Solution: Test in another way. +Files: src/testdir/test_mapping.vim + +Patch 8.1.1859 +Problem: Timer test sometimes fails on Mac. +Solution: Show more info when it fails. +Files: src/testdir/test_timers.vim + +Patch 8.1.1860 +Problem: Map timeout test is flaky. +Solution: Add test to list of flaky tests. Increase timeout. +Files: src/testdir/runtest.vim, src/testdir/test_mapping.vim + +Patch 8.1.1861 +Problem: Only some assert functions can be used as a method. +Solution: Allow using most assert functions as a method. +Files: runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_assert.vim + +Patch 8.1.1862 +Problem: Coverity warns for not using return value. +Solution: Add "(void)" to avoid the warning. +Files: src/normal.c + +Patch 8.1.1863 +Problem: Confusing error when using a builtin function as method while it + does not support that. +Solution: Add a specific error message. +Files: src/vim.h, src/evalfunc.c, src/userfunc.c, + src/testdir/test_method.vim + +Patch 8.1.1864 +Problem: Still a timer test that is flaky on Mac. +Solution: Adjust the sleep times. +Files: src/testdir/test_timers.vim + +Patch 8.1.1865 +Problem: Spellrare and spellrepall in the wrong order. +Solution: Put spellrare below spellrepall. (closes #4820) +Files: runtime/doc/spell.txt, src/ex_cmds.h + +Patch 8.1.1866 +Problem: Modeless selection in GUI does not work properly. +Solution: Avoid going beyond the end of the line. (closes #4783) +Files: src/ui.c + +Patch 8.1.1867 +Problem: Still a timer test that is flaky on Mac. +Solution: Loop with a sleep instead of one fixed sleep. +Files: src/testdir/test_timers.vim + +Patch 8.1.1868 +Problem: Multibyte characters in 'listchars' don't work correctly if + 'linebreak' is also enabled. (Martin Tournoij) +Solution: Make it work correctly. (Christian Brabandt, closes #4822, + closes #4812) +Files: src/screen.c, src/testdir/test_listchars.vim + +Patch 8.1.1869 +Problem: Code for the argument list is spread out. +Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan, + closes #4819) +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/arglist.c, src/buffer.c, src/evalfunc.c, src/ex_cmds2.c, + src/ex_docmd.c, src/proto.h, src/proto/arglist.pro, + src/proto/buffer.pro, src/proto/ex_cmds2.pro, + src/proto/ex_docmd.pro + +Patch 8.1.1870 +Problem: Using :pedit from a help file sets the preview window to help + filetype. (Wang Shidong) +Solution: Do not set "keep_help_flag". (closes #3536) +Files: src/ex_docmd.c, src/testdir/test_window_cmd.vim + +Patch 8.1.1871 (after 8.1.1866) +Problem: Modeless selection in GUI still not correct. +Solution: Fix max_col. +Files: src/ui.c + +Patch 8.1.1872 +Problem: When Vim exits because of a signal, VimLeave is not triggered. + (Daniel Hahler) +Solution: Unblock autocommands when triggering VimLeave. (closes #4818) +Files: src/main.c + +Patch 8.1.1873 (after 8.1.1872) +Problem: Cannot build tiny version. +Solution: Remove #ifdef for is_autocmd_blocked(). +Files: src/autocmd.c + +Patch 8.1.1874 +Problem: Modeless selection in popup window overlaps scrollbar. +Solution: Subtract scrollbar from max_col. (closes #4773) +Files: src/ui.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_select_01.dump + +Patch 8.1.1875 +Problem: Cannot get size and position of the popup menu. +Solution: Add pum_getpos(). (Ben Jackson, closes #4827) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_popup.vim + +Patch 8.1.1876 +Problem: proto file missing from distribution +Solution: Add the file. +Files: Filelist + +Patch 8.1.1877 +Problem: Graduated features scattered. +Solution: Put graduated and obsolete features together. +Files: src/feature.h + +Patch 8.1.1878 +Problem: Negative float before method not parsed correctly. +Solution: Apply "!" and "-" in front of expression before using ->. +Files: src/eval.c, src/proto/eval.pro, src/userfunc.c, + src/testdir/test_method.vim + +Patch 8.1.1879 +Problem: More functions can be used as methods. +Solution: Make float functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_float_func.vim + +Patch 8.1.1880 +Problem: Cannot show extra info for completion in a popup window. +Solution: Add the "popup" entry in 'completeopt'. +Files: runtime/doc/options.txt, src/popupmnu.c, src/ex_cmds.c, + src/proto/ex_cmds.pro, src/ex_docmd.c, src/search.c, src/tag.c, + src/popupwin.c, src/proto/popupwin.pro, src/option.c, src/vim.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_3.dump, + src/testdir/dumps/Test_popupwin_infopopup_4.dump + +Patch 8.1.1881 +Problem: Popup window test fails in some configurations. +Solution: Check that screendumps can be made. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.1882 +Problem: Cannot specify properties of the info popup window. +Solution: Add the 'completepopup' option. Default to PmenuSel highlight. +Files: runtime/doc/options.txt, runtime/doc/insert.txt, src/option.c, + src/popupwin.c, src/proto/popupwin.pro, src/option.h, + src/testdir/test_popupwin.vim, src/screen.c, + src/testdir/dumps/Test_popupwin_infopopup_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_3.dump + +Patch 8.1.1883 +Problem: Options test fails. +Solution: Add entry for 'completepopup'. +Files: src/testdir/gen_opt_test.vim + +Patch 8.1.1884 +Problem: Cannot use mouse scroll wheel in popup in Insert mode. Mouse + clicks in popup close the popup menu. +Solution: Check if the mouse is in a popup window. Do not let mouse events + close the popup menu. (closes #4544) +Files: src/edit.c, src/popupmnu.c, src/insexpand.c + +Patch 8.1.1885 +Problem: Comments in libvterm are inconsistent. +Solution: Use // comments. Als update the table of combining characters. +Files: src/libvterm/bin/unterm.c, src/libvterm/bin/vterm-ctrl.c, + src/libvterm/bin/vterm-dump.c, src/libvterm/include/vterm.h, + src/libvterm/include/vterm_keycodes.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/rect.h, + src/libvterm/src/state.c, src/libvterm/src/unicode.c, + src/libvterm/src/utf8.h, src/libvterm/src/vterm.c, + src/libvterm/src/vterm_internal.h, src/libvterm/src/termscreen.c + +Patch 8.1.1886 +Problem: Command line expansion code is spread out. +Solution: Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831) +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/evalfunc.c, src/ex_getln.c, src/proto.h, + src/proto/cmdexpand.pro, src/proto/ex_getln.pro, src/structs.h + +Patch 8.1.1887 +Problem: The +cmdline_compl feature is not in the tiny version. +Solution: Graduate the +cmdline_compl feature. +Files: src/cmdexpand.c, src/arglist.c, src/autocmd.c, src/buffer.c, + src/cmdhist.c, src/eval.c, src/evalfunc.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/feature.h, src/highlight.c, + src/if_cscope.c, src/map.c, src/menu.c, src/misc1.c, src/misc2.c, + src/option.c, src/sign.c, src/syntax.c, src/tag.c, src/term.c, + src/usercmd.c, src/userfunc.c, src/version.c, src/globals.h, + src/option.h, src/structs.h, runtime/doc/cmdline.txt + +Patch 8.1.1888 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_vimscript.vim, src/testdir/test_balloon_gui.vim, + src/testdir/test_popup.vim, src/testdir/test_functions.vim, + src/testdir/test_hide.vim, src/testdir/test_arglist.vim + +Patch 8.1.1889 +Problem: Coverity warns for using a NULL pointer. +Solution: Use zero for column if pos is NULL. +Files: src/netbeans.c + +Patch 8.1.1890 +Problem: Ml_get error when deleting fold marker. +Solution: Check that the line number is not below the last line. Adjust the + fold when deleting the empty line. (Christian Brabandt, + closes #4834) +Files: src/fold.c, src/normal.c, src/testdir/test_fold.vim + +Patch 8.1.1891 +Problem: Functions used in one file are global. +Solution: Add "static". (Yegappan Lakshmanan, closes #4840) +Files: src/autocmd.c, src/buffer.c, src/change.c, src/channel.c, + src/charset.c, src/dict.c, src/digraph.c, src/eval.c, + src/ex_cmds.c, src/ex_eval.c, src/fileio.c, src/findfile.c, + src/getchar.c, src/gui.c, src/indent.c, src/json.c, src/list.c, + src/mark.c, src/menu.c, src/message.c, src/misc1.c, src/misc2.c, + src/ops.c, src/option.c, src/popupwin.c, src/profiler.c, + src/proto/autocmd.pro, src/proto/buffer.pro, src/proto/change.pro, + src/proto/channel.pro, src/proto/charset.pro, src/proto/dict.pro, + src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/ex_eval.pro, + src/proto/fileio.pro, src/proto/findfile.pro, + src/proto/getchar.pro, src/proto/gui.pro, src/proto/indent.pro, + src/proto/json.pro, src/proto/list.pro, src/proto/mark.pro, + src/proto/menu.pro, src/proto/message.pro, src/proto/misc1.pro, + src/proto/misc2.pro, src/proto/ops.pro, src/proto/option.pro, + src/proto/popupwin.pro, src/proto/profiler.pro, + src/proto/quickfix.pro, src/proto/spell.pro, src/proto/term.pro, + src/proto/textprop.pro, src/proto/ui.pro, src/proto/undo.pro, + src/proto/window.pro, src/quickfix.c, src/regexp.c, src/spell.c, + src/term.c, src/textprop.c, src/ui.c, src/undo.c, src/window.c + +Patch 8.1.1892 +Problem: Missing index entry and option menu for 'completepopup'. +Solution: Add the entries. Adjust #ifdefs to avoid dead code. +Files: runtime/doc/quickref.txt, runtime/optwin.vim, src/option.c, + src/option.h, src/popupwin.c + +Patch 8.1.1893 +Problem: Script to summarize test results can be improved. +Solution: Use "silent" for substitute to avoid reporting number of matches. + Remove duplicate "set nocp". (Daniel Hahler, closes #4845) +Files: src/testdir/summarize.vim + +Patch 8.1.1894 +Problem: Not checking for out-of-memory of autoload_name(). +Solution: Check for NULL. (Dominique Pelle, closes #4846) +Files: src/eval.c + +Patch 8.1.1895 +Problem: Using NULL pointer when out of memory. +Solution: Bail out or skip the code using the pointer. (Zu-Ming Jiang, + closes #4805, closes #4843, closes #4939, closes #4844) +Files: src/message.c, src/highlight.c, src/buffer.c, src/ops.c + +Patch 8.1.1896 +Problem: Compiler warning for unused variable. +Solution: Add #ifdef. (John Marriott) Missing part of 8.1.1892. +Files: src/popupmnu.c + +Patch 8.1.1897 +Problem: May free memory twice when out of memory. +Solution: Check that backslash_halve_save() returns a different pointer. + (Dominique Pelle, closes #4847) +Files: src/cmdexpand.c, src/misc1.c + +Patch 8.1.1898 +Problem: Crash when out of memory during startup. +Solution: When out of memory message given during initialisation bail out. + (closes #4842) +Files: src/misc2.c + +Patch 8.1.1899 +Problem: sign_place() does not work as documented. +Solution: Make it accept line numbers like line(). (Yegappan Lakshmanan, + closes #4848) +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.1.1900 +Problem: Sign test fails in the GUI. +Solution: Catch and ignore the exception. +Files: src/testdir/test_signs.vim + +Patch 8.1.1901 +Problem: The +insert_expand feature is not always available. +Solution: Graduate the +insert_expand feature. +Files: src/feature.h, src/autocmd.c, src/buffer.c, src/change.c, + src/charset.c, src/edit.c, src/evalfunc.c, src/ex_cmds.c, + src/ex_getln.c, src/getchar.c, src/gui.c, src/highlight.c, + src/indent.c, src/insexpand.c, src/misc2.c, src/move.c, + src/option.c, src/popupmnu.c, src/screen.c, src/search.c, + src/spell.c, src/tag.c, src/term.c, src/userfunc.c, src/version.c, + src/globals.h, src/option.h, src/proto.h, src/structs.h, + src/vim.h, runtime/doc/change.txt, runtime/doc/index.txt, + runtime/doc/insert.txt, runtime/doc/options.txt + +Patch 8.1.1902 +Problem: Cannot have an info popup without a border. +Solution: Add the "border" item to 'completepopup'. +Files: src/popupwin.c, src/proto/popupwin.pro, src/popupmnu.c, + src/testdir/test_popupwin.vim, src/testdir/gen_opt_test.vim, + src/testdir/dumps/Test_popupwin_infopopup_nb_1.dump + +Patch 8.1.1903 +Problem: Cannot build without the +eval feature. +Solution: Add missing #ifdefs +Files: src/insexpand.c, src/popupmnu.c + +Patch 8.1.1904 +Problem: Cannot have an info popup align with the popup menu. +Solution: Add the "align" item to 'completepopup'. +Files: src/popupwin.c, src/popupmnu.c, src/vim.h, + runtime/doc/insert.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_align_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_align_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_align_3.dump + +Patch 8.1.1905 +Problem: Cannot set all properties of the info popup. +Solution: Add popup_findinfo(). Rename popup_getpreview() to + popup_findpreview(). +Files: src/popupwin.c, src/proto/popupwin.pro, src/ex_cmds.c, + src/ex_docmd.c, src/popupmnu.c, src/evalfunc.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_align_3.dump + +Patch 8.1.1906 +Problem: Info popup size is sometimes incorrect. +Solution: Compute the position and size after setting the content. +Files: src/popupmnu.c + +Patch 8.1.1907 +Problem: Wrong position for info popup with scrollbar on the left. +Solution: Take the scrollbar into account. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_5.dump, + src/testdir/dumps/Test_popupwin_cursorline_3.dump, + src/testdir/dumps/Test_popupwin_cursorline_4.dump, + src/testdir/dumps/Test_popupwin_cursorline_5.dump, + src/testdir/dumps/Test_popupwin_cursorline_6.dump, + src/testdir/dumps/Test_popupwin_menu_filter_1.dump, + src/testdir/dumps/Test_popupwin_menu_filter_2.dump, + src/testdir/dumps/Test_popupwin_menu_filter_3.dump, + src/testdir/dumps/Test_popupwin_menu_filter_4.dump + +Patch 8.1.1908 +Problem: Every popup window consumes a buffer number. +Solution: Recycle buffers only used for popup windows. Do not list popup + window buffers. +Files: src/popupwin.c, src/window.c, src/vim.h, src/buffer.c, + src/proto/buffer.pro, src/ex_docmd.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1909 +Problem: More functions can be used as methods. +Solution: Make a few more functions usable as a method. +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_popupwin.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_bufline.vim, src/testdir/test_assert.vim + +Patch 8.1.1910 +Problem: Redrawing too much when toggling 'relativenumber'. +Solution: Only clear when 'signcolumn' is set to "number". (Yegappan + Lakshmanan, closes #4852) +Files: src/option.c + +Patch 8.1.1911 +Problem: More functions can be used as methods. +Solution: Make a few more functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test69.in, + src/testdir/test69.ok, src/testdir/test_functions.vim + +Patch 8.1.1912 +Problem: More functions can be used as methods. +Solution: Make channel and job functions usable as a method. +Files: runtime/doc/channel.txt, src/evalfunc.c, + src/testdir/test_channel.vim + +Patch 8.1.1913 +Problem: Not easy to compute the space on the command line. +Solution: Add v:echospace. (Daniel Hahler, closes #4732) +Files: src/vim.h, src/eval.c, src/option.c, runtime/doc/eval.txt, + src/testdir/test_messages.vim + +Patch 8.1.1914 +Problem: Command line expansion code is spread out. +Solution: Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855) +Files: src/cmdexpand.c, src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.1.1915 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/testdir/test_cd.vim, + src/testdir/test_cindent.vim, src/testdir/test_match.vim, + src/testdir/test_popup.vim, src/testdir/test_cursor_func.vim, + src/testdir/test_method.vim, src/testdir/test_bufline.vim, + src/testdir/test_diffmode.vim + +Patch 8.1.1916 +Problem: Trying to allocate negative amount of memory when closing a popup. +Solution: Check the rows are not out of bounds. Don't finish a selection if + it was never started. +Files: src/ui.c + +Patch 8.1.1917 +Problem: Non-current window is not redrawn when moving popup. (Ben Jackson) +Solution: Redraw all windows under a popup. (closes #4860) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_01.dump, + src/testdir/dumps/Test_popupwin_drag_02.dump, + src/testdir/dumps/Test_popupwin_drag_03.dump + +Patch 8.1.1918 +Problem: Redrawing popups is inefficient. +Solution: Fix the logic to compute what window lines to redraw. Make it + work below the last line. Remove redrawing all windows. +Files: src/popupwin.c + +Patch 8.1.1919 +Problem: Using current window option values when passing a buffer to + popup_create(). +Solution: Clear the window-local options. (closes #4857) +Files: src/option.c, src/proto/option.pro, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1920 +Problem: Cannot close a popup by the X when a filter consumes all events. +Solution: Check for a click on the close button before invoking filters. + (closes #4858) +Files: src/popupwin.c, src/proto/popupwin.pro, src/ui.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_close_04.dump, + src/testdir/dumps/Test_popupwin_close_05.dump + +Patch 8.1.1921 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_expand.vim, + src/testdir/test_expand_func.vim, src/testdir/test_expr.vim, + src/testdir/test_findfile.vim, src/testdir/test_fnameescape.vim, + src/testdir/test_fnamemodify.vim, src/testdir/test_fold.vim, + src/testdir/test_functions.vim, src/testdir/test_search.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.1922 +Problem: In diff mode global operations can be very slow. +Solution: Do not call diff_redraw() many times, call it once when redrawing. + And also don't update folds multiple times. +Files: src/globals.h, src/diff.c, src/proto/diff.pro, src/screen.c, + src/fold.c + +Patch 8.1.1923 +Problem: Some source files are not in a normal encoding. +Solution: Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1 + to utf-8. (Daniel Hahler, closes #4731) +Files: src/hangulin.c, src/digraph.c, .travis.yml + +Patch 8.1.1924 +Problem: Using empty string for current buffer is unexpected. +Solution: Make the argument optional for bufname() and bufnr(). +Files: src/evalfunc.c, src/testdir/test_arglist.vim, runtime/doc/eval.txt + +Patch 8.1.1925 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufline.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_cd.vim, src/testdir/test_changelist.vim, + src/testdir/test_cmdline.vim, src/testdir/test_edit.vim, + src/testdir/test_environ.vim, src/testdir/test_file_perm.vim, + src/testdir/test_getvar.vim, src/testdir/test_jumplist.vim, + src/testdir/test_put.vim, src/testdir/test_stat.vim + +Patch 8.1.1926 +Problem: Cursorline not redrawn when putting a line above the cursor. +Solution: Redraw when the curor line is below a change. (closes #4862) +Files: src/change.c + +Patch 8.1.1927 +Problem: Code for dealing with script files is spread out. +Solution: Move the code to scriptfile.c. (Yegappan Lakshmanan, closes #4861) +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_cmds2.c, src/proto.h, + src/proto/ex_cmds2.pro, src/proto/scriptfile.pro, src/scriptfile.c + +Patch 8.1.1928 +Problem: Popup windows don't move with the text when making changes. +Solution: Add the 'textprop" property to the popup window options, position + the popup relative to a text property. (closes #4560) + No tests yet. +Files: runtime/doc/popup.txt, src/textprop.c, src/proto/textprop.pro, + src/structs.h, src/popupwin.c, src/proto/popupwin.pro, src/move.c, + src/proto/move.pro, src/window.c + +Patch 8.1.1929 +Problem: No tests for text property popup window. +Solution: Add a few tests. +Files: src/testdir/Make_all.mak, src/textprop.c, + src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_01.dump, + src/testdir/dumps/Test_popup_textprop_02.dump, + src/testdir/dumps/Test_popup_textprop_03.dump, + src/testdir/dumps/Test_popup_textprop_04.dump, + src/testdir/dumps/Test_popup_textprop_05.dump, + src/testdir/dumps/Test_popup_textprop_06.dump + +Patch 8.1.1930 +Problem: Cannot recognize .jsx and .tsx files. +Solution: Recognize them as javascriptreact and typescriptreact. + (closes #4830) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim, + runtime/syntax/javascriptreact.vim, + runtime/indent/javascriptreact.vim, + runtime/ftplugin/javascriptreact.vim + +Patch 8.1.1931 (after 8.1.1930) +Problem: Syntax test fails. +Solution: Add new javascriptreact type to completions. +Files: src/testdir/test_syntax.vim + +Patch 8.1.1932 +Problem: Ml_get errors after using append(). (Alex Genco) +Solution: Do not update the cursor twice. (closes #1737) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.1.1933 +Problem: The eval.c file is too big. +Solution: Move code related to variables to evalvars.c. (Yegappan + Lakshmanan, closes #4868) +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/evalvars.c, src/globals.h, + src/proto.h, src/proto/eval.pro, src/proto/evalvars.pro, src/vim.h + +Patch 8.1.1934 +Problem: Not enough tests for text property popup window. +Solution: Add a few more tests. +Files: src/popupwin.c, src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_corn_1.dump, + src/testdir/dumps/Test_popup_textprop_corn_2.dump, + src/testdir/dumps/Test_popup_textprop_corn_3.dump, + src/testdir/dumps/Test_popup_textprop_corn_4.dump + +Patch 8.1.1935 (after 8.1.1934) +Problem: Test for text property popup window is flaky. +Solution: Remove the undo message +Files: src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_corn_4.dump + +Patch 8.1.1936 +Problem: Not enough tests for text property popup window. +Solution: Add a few more tests. Make negative offset work. Close all + popups when window closes. +Files: src/popupwin.c, src/testdir/test_popupwin_textprop.vim, + src/testdir/dumps/Test_popup_textprop_07.dump, + src/testdir/dumps/Test_popup_textprop_off_1.dump, + src/testdir/dumps/Test_popup_textprop_off_2.dump, + src/testdir/dumps/Test_popup_textprop_corn_5.dump, + src/testdir/dumps/Test_popup_textprop_corn_6.dump + +Patch 8.1.1937 (after 8.1.1930) +Problem: Errors when using javascriptreact. +Solution: Use ":runtime" instead of ":source". (closes #4875) +Files: runtime/syntax/javascriptreact.vim, + runtime/indent/javascriptreact.vim, + runtime/ftplugin/javascriptreact.vim + +Patch 8.1.1938 +Problem: May crash when out of memory. +Solution: Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871) +Files: src/userfunc.c + +Patch 8.1.1939 +Problem: Code for handling v: variables in generic eval file. +Solution: Move v: variables to evalvars.c. (Yegappan Lakshmanan, + closes #4872) +Files: src/eval.c, src/evalvars.c, src/proto/eval.pro, + src/proto/evalvars.pro + +Patch 8.1.1940 (after 8.1.1939) +Problem: Script tests fail. +Solution: Don't set vimvars type in set_vim_var_nr(). +Files: src/eval.c, src/evalvars.c, src/proto/evalvars.pro + +Patch 8.1.1941 +Problem: getftype() test fails on Mac. +Solution: Skip /dev/fd/. +Files: src/testdir/test_stat.vim + +Patch 8.1.1942 +Problem: Shadow directory gets outdated when files are added. +Solution: Add the "shadowupdate" target and add a few comments. +Files: src/Makefile + +Patch 8.1.1943 +Problem: More code can be moved to evalvars.c. +Solution: Move it, clean up comments. Also move some window related + functions to window.c. (Yegappan Lakshmanan, closes #4874) +Files: src/eval.c, src/evalfunc.c, src/evalvars.c, src/proto/eval.pro, + src/proto/evalvars.pro, src/proto/window.pro, src/window.c + +Patch 8.1.1944 +Problem: Leaking memory when using sound callback. +Solution: Free the callback queue item. +Files: src/sound.c + +Patch 8.1.1945 +Problem: Popup window "firstline" cannot be reset. +Solution: Allow for setting "firstline" to zero. Fix that the text jumps to + the top when using win_execute(). (closes #4876) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump + +Patch 8.1.1946 +Problem: Memory error when profiling a function without a script ID. +Solution: Check for missing script ID. (closes #4877) +Files: src/testdir/test_profile.vim, src/profiler.c + +Patch 8.1.1947 +Problem: When executing one test the report doesn't show it. +Solution: Adjust the regexp. (Daniel Hahler, closes #4879) +Files: src/testdir/summarize.vim + +Patch 8.1.1948 +Problem: Mouse doesn't work in Linux console and causes 100% CPU. (James P. + Harvey) +Solution: Loop in WaitForCharOrMouse() when gpm_process_wanted is set. + (closes #4828) +Files: src/os_unix.c + +Patch 8.1.1949 +Problem: Cannot scroll a popup window to the very bottom. +Solution: Scroll to the bottom when the "firstline" property was set to -1. + (closes #4577) Allow resetting min/max width/height. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/dict.c, src/proto/dict.pro, + src/testdir/dumps/Test_popupwin_firstline.dump, + src/testdir/dumps/Test_popupwin_firstline_1.dump, + src/testdir/dumps/Test_popupwin_firstline_2.dump, + src/testdir/dumps/Test_popupwin_scroll_10.dump + +Patch 8.1.1950 +Problem: Using NULL pointer after an out-of-memory. +Solution: Check for NULL pointer. (Dominique Pelle, closes #4881) +Files: src/syntax.c + +Patch 8.1.1951 +Problem: Mouse double click test is a bit flaky. +Solution: Add to list of flaky tests. Update a couple of comments. +Files: src/testdir/runtest.vim, src/testdir/shared.vim, + src/testdir/test_substitute.vim + +Patch 8.1.1952 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_tagjump.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_terminal.vim, src/testdir/test_getvar.vim, + src/testdir/test_escaped_glob.vim, + src/testdir/test_glob2regpat.vim + +Patch 8.1.1953 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_blob.vim, + src/testdir/test_breakindent.vim, src/testdir/test_delete.vim, + src/testdir/test_functions.vim, src/testdir/test_getcwd.vim, + src/testdir/test_history.vim, src/testdir/test_listdict.vim, + src/testdir/test_syn_attr.vim, src/testdir/test_termcodes.vim, + src/testdir/test_true_false.vim + +Patch 8.1.1954 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_arglist.vim, src/testdir/test_functions.vim, + src/testdir/test_json.vim, src/testdir/test_lispwords.vim, + src/testdir/test_listener.vim, src/testdir/test_lua.vim, + src/testdir/test_utf8.vim + +Patch 8.1.1955 +Problem: Tests contain typos. +Solution: Correct the typos. (Dominique Pelle) +Files: src/testdir/popupbounce.vim, src/testdir/runtest.vim, + src/testdir/screendump.vim, src/testdir/test49.vim, + src/testdir/test_autocmd.vim, src/testdir/test_cindent.vim, + src/testdir/test_const.vim, src/testdir/test_popupwin.vim, + src/testdir/test_quickfix.vim, src/testdir/test_search.vim, + src/testdir/test_tabpage.vim, src/testdir/test_tcl.vim + +Patch 8.1.1956 +Problem: Screenshot tests may use a different encoding. (Dominique Pelle) +Solution: Always set 'encoding' to "utf-8" when running Vim in a terminal. + (closes #4884) +Files: src/testdir/shared.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_behind.dump + +Patch 8.1.1957 +Problem: More code can be moved to evalvars.c. +Solution: Move code to where it fits better. (Yegappan Lakshmanan, + closes #4883) +Files: src/eval.c, src/evalvars.c, src/ex_getln.c, src/globals.h, + src/if_py_both.h, src/proto/eval.pro, src/proto/evalvars.pro, + src/proto/ex_getln.pro, src/proto/scriptfile.pro, + src/scriptfile.c, src/session.c, src/viminfo.c + +Patch 8.1.1958 +Problem: Old style comments taking up space. +Solution: Change to new style comments. +Files: src/vim.h + +Patch 8.1.1959 +Problem: When using "firstline" in popup window text may jump when + redrawing it. (Nick Jensen) +Solution: Set 'scrolloff' to zero in a popup window. (closes #4882) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_5.dump, + src/testdir/dumps/Test_popupwin_scroll_6.dump + +Patch 8.1.1960 +Problem: Fold code is spread out. +Solution: Move fold functions to fold.c. +Files: src/evalfunc.c, src/fold.c, src/proto/fold.pro + +Patch 8.1.1961 +Problem: More functions can be used as a method. +Solution: Allow more functions to be used as a method. Add a test for + mapcheck(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test70.in, + src/testdir/test_functions.vim, src/testdir/test_getcwd.vim, + src/testdir/test_maparg.vim, src/testdir/test_match.vim + +Patch 8.1.1962 +Problem: Leaking memory when using tagfunc(). +Solution: Free the user_data. (Dominique Pelle, closes #4886) +Files: src/window.c + +Patch 8.1.1963 +Problem: Popup window filter may be called recursively when using a Normal + mode command. (Nick Jensen) +Solution: Prevent recursiveness. (closes #4887) Also restore KeyTyped. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.1964 +Problem: Crash when using nested map() and filter(). +Solution: Do not set the v:key type to string without clearing the pointer. + (closes #4888) +Files: src/eval.c, src/testdir/test_filter_map.vim + +Patch 8.1.1965 +Problem: The search count message is not displayed when using a mapping. + (Gary Johnson) +Solution: Ignore cmd_silent for showing the search count. (Christian + Brabandt) +Files: src/search.c + +Patch 8.1.1966 +Problem: Some code in options.c fits better elsewhere. +Solution: Move functions from options.c to other files. (Yegappan + Lakshmanan, closes #4889) +Files: src/evalfunc.c, src/globals.h, src/indent.c, src/map.c, + src/option.c, src/proto/map.pro, src/proto/option.pro, + src/proto/quickfix.pro, src/proto/screen.pro, src/proto/spell.pro, + src/proto/window.pro, src/quickfix.c, src/screen.c, src/spell.c, + src/window.c + +Patch 8.1.1967 +Problem: Line() only works for the current window. +Solution: Add an optional argument for the window to use. +Files: runtime/eval.txt, src/evalfunc.c, src/testdir/test_popupwin.vim + +Patch 8.1.1968 +Problem: Crash when using nested map(). +Solution: Clear the pointer in prepare_vimvar(). (Ozaki Kiichi, + closes #4890, closes #4891) +Files: src/evalvars.c, src/testdir/test_filter_map.vim, + src/testdir/test_functions.vim + +Patch 8.1.1969 +Problem: Popup window filter is used in all modes. +Solution: Add the "filtermode" property. +Files: src/popupwin.c, src/vim.h, src/map.c, src/proto/map.pro, + src/structs.h, runtime/doc/popup.txt, + src/testdir/test_popupwin.vim + +Patch 8.1.1970 +Problem: Search stat space wrong, no test for 8.1.1965. +Solution: Fix check for cmd_silent. Add a test. (Christian Brabandt) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1971 +Problem: Manually enabling features causes build errors. (John Marriott) +Solution: Adjust #ifdefs. +Files: src/proto.h, src/popupmnu.c, src/buffer.c, src/quickfix.c, + src/ui.c + +Patch 8.1.1972 +Problem: No proper test for getchar(). +Solution: Add a test with special characters. +Files: src/testdir/test_functions.vim + +Patch 8.1.1973 +Problem: Cannot build without the quickfix feature. +Solution: Remove #ifdef for qf_info_T. +Files: src/structs.h + +Patch 8.1.1974 +Problem: Coverity warns for using pointer as array. +Solution: Call var2fpos() directly instead of using f_line(). +Files: src/evalfunc.c + +Patch 8.1.1975 +Problem: MS-Windows GUI responds slowly to timer. +Solution: Break out of wait loop when timer was added or input is available. + (closes #4893) +Files: src/gui_w32.c + +Patch 8.1.1976 +Problem: Travis log always shows test output. +Solution: Change script to avoid if/else. (Ozaki Kiichi, closes #4892) +Files: .travis.yml + +Patch 8.1.1977 +Problem: Terminal debugger plugin may hang. +Solution: Wait longer when still reading symbols. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.1978 +Problem: The eval.c file is too big. +Solution: Move filter() and map() to list.c. +Files: src/eval.c, src/proto/eval.pro, src/list.c, src/proto/list.pro, + src/evalfunc.c + +Patch 8.1.1979 +Problem: Code for handling file names is spread out. +Solution: Move code to new filepath.c file. Graduate FEAT_MODIFY_FNAME. +Files: src/filepath.c, 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/ex_docmd.c, src/feature.h, src/findfile.c, src/if_cscope.c, + src/message.c, src/misc1.c, src/proto.h, src/proto/eval.pro, + src/proto/evalvars.pro src/proto/filepath.pro, + src/proto/findfile.pro, src/proto/message.pro, src/regexp.c, + src/version.c + +Patch 8.1.1980 +Problem: Fix for search stat not tested. +Solution: Add a screenshot test. (Christian Brabandt) +Files: src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstat_1.dump, + src/testdir/dumps/Test_searchstat_2.dump + +Patch 8.1.1981 +Problem: The evalfunc.c file is too big. +Solution: Move undo functions to undo.c. Move cmdline functions to + ex_getln.c. Move some container functions to list.c. +Files: src/evalfunc.c, src/undo.c, src/proto/undo.pro, src/ex_getln.c, + src/proto/ex_getln.pro, src/list.c, src/proto/list.pro + +Patch 8.1.1982 +Problem: More functions can be used as methods. +Solution: Make popup functions usable as a method. +Files: runtime/doc/popup.txt, src/evalfunc.c, + src/testdir/test_popupwin.vim + +Patch 8.1.1983 +Problem: Compiler nags for uninitialized variable and unused function. +Solution: Add unnecessary initialization. Move function inside #ifdef. +Files: src/memline.c, src/channel.c + +Patch 8.1.1984 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/testdir/test_perl.vim, + src/testdir/test_prompt_buffer.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim + +Patch 8.1.1985 +Problem: Code for dealing with paths is spread out. +Solution: Move path related functions from misc1.c to filepath.c. + Remove NO_EXPANDPATH. +Files: src/misc1.c, src/proto/misc1.pro, src/filepath.c, + src/evalfunc.c, src/globals.h, src/misc2.c, src/os_unix.c, + src/os_unix.h, src/proto/filepath.pro, src/scriptfile.c, + src/proto/misc2.pro, src/proto/scriptfile.pro, src/vim.h + +Patch 8.1.1986 +Problem: More functions can be used as methods. +Solution: Make textprop functions usable as a method. +Files: runtime/doc/textprop.txt, src/evalfunc.c, + src/testdir/test_textprop.vim + +Patch 8.1.1987 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_clientserver.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, + src/testdir/test_reltime.vim, src/testdir/test_rename.vim + +Patch 8.1.1988 +Problem: :startinsert! does not work the same way as "A". +Solution: Use the same code to move the cursor. (closes #4896) +Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, + src/testdir/test_edit.vim + +Patch 8.1.1989 +Problem: The evalfunc.c file is still too big. +Solution: Move f_pathshorten() to filepath.c. Move f_cscope_connection() to + if_cscope.c. Move diff_ functions to diff.c. Move timer_ + functions to ex_cmds2.c. move callback functions to evalvars.c. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/filepath.c, + src/proto/filepath.pro, src/if_cscope.c, src/proto/if_cscope.pro, + src/diff.c, src/proto/diff.pro, src/ex_cmds2.c, + src/proto/ex_cmds2.pro, src/evalvars.c, src/proto/evalvars.pro + +Patch 8.1.1990 +Problem: Cannot build with eval but without cscope. +Solution: Always include if_cscope.pro. +Files: src/proto.h + +Patch 8.1.1991 +Problem: Still cannot build with eval but without cscope. +Solution: Move f_cscope_connection() outside of #ifdef. +Files: src/if_cscope.c + +Patch 8.1.1992 +Problem: The search stat moves when wrapping at the end of the buffer. +Solution: Put the "W" in front instead of at the end. +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.1.1993 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufline.vim, src/testdir/test_charsearch.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_diffmode.vim, + src/testdir/test_environ.vim, src/testdir/test_functions.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_popupwin.vim, src/testdir/test_search.vim, + src/testdir/test_searchpos.vim, src/testdir/test_utf8.vim + +Patch 8.1.1994 +Problem: MS-Windows: cannot build with eval but without cscope +Solution: Adjust the makefiles to always build if_cscope.obj. +Files: src/Make_mvc.mak, src/Make_cyg_ming.mak + +Patch 8.1.1995 +Problem: More functions can be used as methods. +Solution: Make sign functions usable as a method. +Files: runtime/doc/sign.txt, src/evalfunc.c, src/testdir/test_signs.vim + +Patch 8.1.1996 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim, + src/testdir/test_cursor_func.vim, src/testdir/test_expr.vim, + src/testdir/test_functions.vim, src/testdir/test_put.vim, + src/testdir/test_quickfix.vim, src/testdir/test_sha256.vim, + src/testdir/test_tabpage.vim, src/testdir/test_tagjump.vim, + src/testdir/test_vartabs.vim + +Patch 8.1.1997 +Problem: No redraw after a popup window filter is invoked. +Solution: Redraw if needed. +Files: src/popupwin.c, src/testdir/test_popupwin.vim + src/testdir/dumps/Test_popupwin_menu_filter_5.dump + +Patch 8.1.1998 +Problem: Redraw even when no popup window filter was invoked. +Solution: Only redraw when must_redraw was set to a larger value. +Files: src/popupwin.c + +Patch 8.1.1999 +Problem: Calling both PlaySoundW() and PlaySoundA(). +Solution: Only use PlaySoundW(). (Dan Thompson, closes #4903) +Files: src/sound.c + +Patch 8.1.2000 +Problem: Plugin cannot get the current IME status. +Solution: Add the getimstatus() function. (closes #4904) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/mbyte.c, + src/proto/mbyte.pro, src/testdir/test_iminsert.vim + +Patch 8.1.2001 +Problem: Some source files are too big. +Solution: Move buffer and window related functions to evalbuffer.c and + evalwindow.c. (Yegappan Lakshmanan, closes #4898) +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/buffer.c, src/channel.c, src/evalbuffer.c, src/evalfunc.c, + src/evalwindow.c, src/proto.h, src/proto/buffer.pro, + src/proto/evalbuffer.pro, src/proto/evalfunc.pro, + src/proto/evalwindow.pro, src/proto/window.pro, src/window.c + +Patch 8.1.2002 +Problem: Version number 2000 missing. +Solution: Add the number in the list of patches. +Files: src/version.c + +Patch 8.1.2003 +Problem: MS-Windows: code page 65001 is not recognized. +Solution: Use utf-8 for code page 65001. (Dan Thompson, closes #4902) +Files: src/mbyte.c + +Patch 8.1.2004 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_breakindent.vim, src/testdir/test_expr.vim, + src/testdir/test_functions.vim, src/testdir/test_sound.vim, + src/testdir/test_spell.vim, src/testdir/test_substitute.vim, + src/testdir/test_swap.vim, src/testdir/test_utf8.vim + +Patch 8.1.2005 +Problem: The regexp.c file is too big. +Solution: Move the backtracking engine to a separate file. (Yegappan + Lakshmanan, closes #4905) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, + src/regexp.c, src/regexp_bt.c + +Patch 8.1.2006 +Problem: Build failure with huge features but without channel feature. +Solution: Add #ifdef. (Dominique Pelle, closes #4906) +Files: src/ui.c + +Patch 8.1.2007 +Problem: No test for what 8.1.1926 fixes. +Solution: Add a test case. +Files: src/testdir/test_highlight.vim + +Patch 8.1.2008 +Problem: Error for invalid range when using listener and undo. (Paul Jolly) +Solution: Do not change the cursor before the lines are restored. + (closes #4908) +Files: src/undo.c, src/testdir/test_listener.vim + +Patch 8.1.2009 +Problem: Cursorline highlighting not updated in popup window. (Marko + Mahnič) +Solution: Check if the cursor position changed. (closes #4912) +Files: src/popupwin.c, src/structs.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_cursorline_7.dump + +Patch 8.1.2010 +Problem: New file uses old style comments. +Solution: Change to new style comments. (Yegappan Lakshmanan, closes #4910) +Files: src/regexp_bt.c + +Patch 8.1.2011 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. Make the window + command test faster. +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_assert.vim, src/testdir/test_gui.vim, + src/testdir/test_messages.vim, src/testdir/test_options.vim, + src/testdir/test_quickfix.vim, src/testdir/test_taglist.vim, + src/testdir/test_termcodes.vim, src/testdir/test_timers.vim, + src/testdir/test_vimscript.vim, src/testdir/test_viminfo.vim, + src/testdir/test_window_cmd.vim + +Patch 8.1.2012 +Problem: More functions can be used as methods. +Solution: Make terminal functions usable as a method. Fix term_getattr(). +Files: runtime/doc/terminal.txt, src/evalfunc.c, src/terminal.c + src/testdir/test_mksession.vim, src/testdir/test_terminal.vim + +Patch 8.1.2013 +Problem: More functions can be used as methods. +Solution: Make various functions usable as a method. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_cursor_func.vim, + src/testdir/test_execute_func.vim, src/testdir/test_functions.vim, + src/testdir/test_listchars.vim, src/testdir/test_timers.vim, + src/testdir/test_undo.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_window_id.vim + +Patch 8.1.2014 +Problem: Terminal altscreen test fails sometimes. +Solution: Use WaitFor(). +Files: src/testdir/test_terminal.vim + +Patch 8.1.2015 +Problem: Terminal altscreen test still fails sometimes. +Solution: Write the escape sequence in a file. +Files: src/testdir/test_terminal.vim + +Patch 8.1.2016 +Problem: Terminal altscreen test now fails on MS-Windows. +Solution: Skip the test on MS-Windows +Files: src/testdir/test_terminal.vim + +Patch 8.1.2017 +Problem: Cannot execute commands after closing the cmdline window. +Solution: Also trigger BufEnter and WinEnter. (closes #4762) +Files: runtime/doc/autocmd.txt, runtime/doc/cmdline.txt, src/ex_getln.c, + src/testdir/test_cmdline.vim + +Patch 8.1.2018 +Problem: Using freed memory when out of memory and displaying message. +Solution: Make a copy of the message first. +Files: src/main.c, src/message.c, src/normal.c + +Patch 8.1.2019 +Problem: 'cursorline' always highlights the whole line. +Solution: Add 'cursorlineopt' to specify what is highlighted. + (closes #4693) +Files: runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/doc/syntax.txt, runtime/optwin.vim, src/option.c, + src/option.h, src/screen.c, src/structs.h, + src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim, + src/testdir/test_alot.vim, src/testdir/test_cursorline.vim + +Patch 8.1.2020 +Problem: It is not easy to change the window layout. +Solution: Add win_splitmove(). (Andy Massimino, closes #4561) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/evalwindow.c, + src/proto/evalwindow.pro, src/testdir/test_window_cmd.vim + +Patch 8.1.2021 +Problem: Some global functions can be local to the file. +Solution: Add "static". (Yegappan Lakshmanan, closes #4917) +Files: src/ex_cmds2.c, src/filepath.c, src/hangulin.c, src/mbyte.c, + src/misc1.c, src/os_unix.c, src/proto/ex_cmds2.pro, + src/proto/filepath.pro, src/proto/hangulin.pro, + src/proto/mbyte.pro, src/proto/misc1.pro, src/proto/os_unix.pro, + src/proto/terminal.pro, src/proto/undo.pro, src/pty.c, + src/terminal.c, src/undo.c + +Patch 8.1.2022 +Problem: The option.c file is too big. +Solution: Move option definitions to a separate file. (Yegappan Lakshmanan, + closes #4918) +Files: Filelist, src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, + src/option.c, src/optiondefs.h + +Patch 8.1.2023 +Problem: No test for synIDattr() returning "strikethrough". +Solution: Extend the synIDattr() test. (Jaskaran Singh, closes #4929) +Files: src/testdir/test_syn_attr.vim + +Patch 8.1.2024 +Problem: Delete call commented out for debugging. +Solution: Restore the delete call. (Christian Brabandt) +Files: src/testdir/test_undo.vim + +Patch 8.1.2025 +Problem: MS-Windows: Including shlguid.h causes problems for msys2. +Solution: Do not include shlguid.h. (closes #4913) +Files: src/GvimExt/gvimext.h + +Patch 8.1.2026 +Problem: Possibly using uninitialized memory. +Solution: Check if "dict" is NULL. (closes #4925) +Files: src/ops.c + +Patch 8.1.2027 +Problem: MS-Windows: problem with ambiwidth characters. +Solution: handle ambiguous width characters in ConPTY on Windows 10 (1903). + (Nobuhiro Takasaki, closes #4411) +Files: src/Make_mvc.mak, src/Make_cyg_ming.mak, src/libvterm/src/parser.c, + src/libvterm/src/state.c, src/libvterm/src/termscreen.c, + src/libvterm/src/unicode.c, src/libvterm/src/vterm_internal.h, + src/misc2.c, src/os_win32.c, src/proto/misc2.pro, + src/proto/os_win32.pro + +Patch 8.1.2028 +Problem: Options test script does not work. +Solution: Use optiondefs.h for input. +Files: src/testdir/Makefile, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak + +Patch 8.1.2029 +Problem: Cannot control 'cursorline' highlighting well. +Solution: Add "screenline". (Christian Brabandt, closes #4933) +Files: runtime/doc/options.txt, src/change.c, src/main.c, src/option.c, + src/option.h, src/optiondefs.h, src/screen.c, src/structs.h, + src/highlight.c, src/testdir/dumps/Test_Xcursorline_1.dump, + src/testdir/dumps/Test_Xcursorline_2.dump, + src/testdir/dumps/Test_Xcursorline_3.dump, + src/testdir/dumps/Test_Xcursorline_4.dump, + src/testdir/dumps/Test_Xcursorline_5.dump, + src/testdir/dumps/Test_Xcursorline_6.dump, + src/testdir/dumps/Test_Xcursorline_7.dump, + src/testdir/dumps/Test_Xcursorline_8.dump, + src/testdir/dumps/Test_Xcursorline_9.dump, + src/testdir/dumps/Test_Xcursorline_10.dump, + src/testdir/dumps/Test_Xcursorline_11.dump, + src/testdir/dumps/Test_Xcursorline_12.dump, + src/testdir/dumps/Test_Xcursorline_13.dump, + src/testdir/dumps/Test_Xcursorline_14.dump, + src/testdir/dumps/Test_Xcursorline_15.dump, + src/testdir/dumps/Test_Xcursorline_16.dump, + src/testdir/dumps/Test_Xcursorline_17.dump, + src/testdir/dumps/Test_Xcursorline_18.dump, + src/testdir/gen_opt_test.vim, src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_cursorline_yank_01.dump, + src/testdir/dumps/Test_wincolor_01.dump, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.2030 +Problem: Tests fail when build with normal features and terminal. + (Dominique Pelle) +Solution: Disable tests that won't work. (closes #4932) +Files: src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim + +Patch 8.1.2031 +Problem: Cursor position wrong when resizing and using conceal. +Solution: Set the flags that the cursor position is valid when setting the + row and column during redrawing. (closes #4931) +Files: src/screen.c, src/testdir/test_conceal.vim, + src/testdir/dumps/Test_conceal_resize_01.dump, + src/testdir/dumps/Test_conceal_resize_02.dump + +Patch 8.1.2032 +Problem: Scrollbar thumb wrong in popup window. +Solution: Adjust thumb size and position when scrolled. +Files: src/popupwin.c, src/testdir/dumps/Test_popupwin_scroll_2.dump + +Patch 8.1.2033 +Problem: Cannot build with tiny features. +Solution: Add #ifdef. +Files: src/screen.c + +Patch 8.1.2034 +Problem: Dark theme of GTK 3 not supported. +Solution: Add the "d" flag in 'guioptions'. (Jonathan Conder, closes #4934) +Files: runtime/doc/options.txt, src/feature.h, src/gui.c, + src/gui_gtk_x11.c, src/option.h, src/proto/gui_gtk_x11.pro, + src/testdir/test_gui.vim + +Patch 8.1.2035 +Problem: Recognizing octal numbers is confusing. +Solution: Introduce scriptversion 4: do not use octal and allow for single + quote inside numbers. +Files: runtime/doc/eval.txt, src/vim.h, src/eval.c, src/scriptfile.c, + src/evalfunc.c, src/testdir/test_eval_stuff.vim, + src/testdir/test_functions.vim + +Patch 8.1.2036 (after 8.1.2035) +Problem: The str2nr() tests fail. +Solution: Add missing part of patch. +Files: src/charset.c + +Patch 8.1.2037 +Problem: Can call win_gotoid() in cmdline window. +Solution: Disallow switching windows. (Yasuhiro Matsumoto, closes #4940) +Files: src/evalwindow.c, src/testdir/test_cmdline.vim + +Patch 8.1.2038 +Problem: has('vimscript-4') is always 0. +Solution: Add "vimscript-4" to the feature table. (Naruhiko Nishino, + closes #4941) +Files: src/evalfunc.c, src/testdir/test_eval_stuff.vim + +Patch 8.1.2039 +Problem: Character from 'showbreak' does not use 'wincolor'. (Nick Jensen) +Solution: Mix with 'wincolor'. (closes #4938) +Files: src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_showbreak.dump + +Patch 8.1.2040 +Problem: No highlighting of current line in quickfix window. +Solution: Combine with line_attr. +Files: src/screen.c, src/testdir/test_quickfix.vim, + src/testdir/dumps/Test_quickfix_cwindow_1.dump, + src/testdir/dumps/Test_quickfix_cwindow_2.dump + +Patch 8.1.2041 (after 8.1.2040) +Problem: No test for diff mode with syntax highlighting. +Solution: Add a test case. +Files: src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_syntax_1.dump + +Patch 8.1.2042 +Problem: The evalfunc.c file is too big. +Solution: Move getchar() and parse_queued_messages() to getchar.c. +Files: src/getchar.c, src/proto/getchar.pro, src/evalfunc.c, src/misc2.c, + src/proto/misc2.pro + +Patch 8.1.2043 +Problem: Not sufficient testing for quoted numbers. +Solution: Add a few more test cases. +Files: src/testdir/test_functions.vim, src/testdir/test_eval_stuff.vim + +Patch 8.1.2044 +Problem: No easy way to process postponed work. (Paul Jolly) +Solution: Add the SafeState autocommand event. +Files: runtime/doc/autocmd.txt, src/main.c, src/proto/main.pro, + src/vim.h, src/autocmd.c, src/channel.c, src/edit.c, + src/ex_getln.c + +Patch 8.1.2045 +Problem: The option.c file is too big. +Solution: Split off the code dealing with strings. (Yegappan Lakshmanan, + closes #4937) +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/option.c, src/option.h, src/optiondefs.h, src/optionstr.c, + src/ops.c, src/os_unix.c, src/proto.h, src/proto/option.pro, + src/proto/optionstr.pro + +Patch 8.1.2046 +Problem: SafeState may be triggered at the wrong moment. +Solution: Move it up higher to after where messages are processed. Add a + SafeStateAgain event to tigger there. +Files: runtime/doc/autocmd.txt, src/main.c, src/proto/main.pro, + src/getchar.c, src/channel.c, src/autocmd.c, src/vim.h + +Patch 8.1.2047 +Problem: Cannot check the current state. +Solution: Add the state() function. +Files: runtime/doc/eval.txt, src/misc1.c, src/proto/misc1.pro, + src/evalfunc.c, src/proto/evalfunc.pro, src/main.c, + src/proto/main.pro, src/channel.c, src/proto/channel.pro, + src/userfunc.c, src/proto/userfunc.pro + +Patch 8.1.2048 +Problem: Not clear why SafeState and SafeStateAgain are not triggered. +Solution: Add log statements. +Files: src/getchar.c, src/main.c, src/proto/main.pro + +Patch 8.1.2049 (after 8.1.2048) +Problem: Cannot build tiny version. +Solution: Add #ifdefs. +Files: src/main.c + +Patch 8.1.2050 +Problem: Popup window test fails in some configurations. (James McCoy) +Solution: Clear the command line. +Files: src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_10.dump + +Patch 8.1.2051 +Problem: Double-click test is a bit flaky. +Solution: Correct entry in list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2052 +Problem: Using "x" before a closed fold may delete that fold. +Solution: Do not translate 'x' do "dl". (Christian Brabandt, closes #4927) +Files: src/normal.c, src/testdir/test_fold.vim + +Patch 8.1.2053 +Problem: SafeStateAgain not triggered if callback uses feedkeys(). +Solution: Check for safe state in the input loop. Make log messages easier + to find. Add 'S' flag to state(). +Files: src/main.c, src/proto/main.pro, src/getchar.c, + runtime/doc/eval.txt + +Patch 8.1.2054 +Problem: Compiler test for Perl may fail. +Solution: Accept any error line number. (James McCoy, closes #4944) +Files: src/testdir/test_compiler.vim + +Patch 8.1.2055 +Problem: Not easy to jump to function line from profile. +Solution: Use "file:99" instead of "file line 99" so that "gf" works. + (Daniel Hahler, closes #4951) +Files: src/profiler.c, src/testdir/test_profile.vim + +Patch 8.1.2056 +Problem: "make test" for indent files doesn't cause make to fail. +Solution: Exit the script with ":cquit". (Daniel Hahler, closes #4949) +Files: runtime/indent/testdir/runtest.vim, .gitignore + +Patch 8.1.2057 +Problem: The screen.c file is much too big. +Solution: Split it in three parts. (Yegappan Lakshmanan, closes #4943) +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/drawline.c, src/drawscreen.c, src/globals.h, src/proto.h, + src/proto/drawline.pro, src/proto/drawscreen.pro, + src/proto/screen.pro, src/screen.c, src/vim.h + +Patch 8.1.2058 +Problem: Function for ex command is named inconsistently. +Solution: Rename do_marks() to ex_marks(). +Files: src/mark.c, src/proto/mark.pro, src/ex_cmds.h + +Patch 8.1.2059 +Problem: Fix for "x" deleting a fold has side effects. +Solution: Fix it where the fold is included. +Files: src/normal.c + +Patch 8.1.2060 +Problem: "precedes" in 'listchars' not used properly. +Solution: Correctly handle the "precedes" char in list mode for long lines. + (Christian Brabandt, closes #4953) +Files: runtime/doc/options.txt, src/drawline.c, + src/testdir/test_display.vim, src/testdir/view_util.vim + +Patch 8.1.2061 +Problem: MS-Windows GUI: ":sh" crashes when trying to use a terminal. +Solution: Check for a NULL command. (Yasuhiro Matsumoto, closes #4958) +Files: src/os_win32.c + +Patch 8.1.2062 +Problem: The mouse code is spread out. +Solution: Move all the mouse code to mouse.c. (Yegappan Lakshmanan, + closes #4959) +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/auto/configure, src/configure.ac, src/edit.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_getln.c, src/insexpand.c, + src/libvterm/src/termmouse.c, src/libvterm/src/mouse.c, + src/main.c, src/message.c, src/misc1.c, src/misc2.c, src/mouse.c, + src/normal.c, src/proto.h, src/proto/edit.pro, + src/proto/misc1.pro, src/proto/misc2.pro, src/proto/mouse.pro, + src/proto/normal.pro, src/proto/term.pro, src/proto/ui.pro, + src/search.c, src/term.c, src/ui.c, src/vim.h, src/window.c + +Patch 8.1.2063 +Problem: Some tests fail when +balloon_eval_term is missing but + _balloon_eval is present. (Dominique Pelle) +Solution: Check the right feature in the test. (closes #4962) +Files: src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim + +Patch 8.1.2064 +Problem: MS-Windows: compiler warnings for unused arguments. +Solution: Add UNUSED. (Yegappan Lakshmanan, closes #4963) +Files: src/channel.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, + src/gui_w32.c, src/main.c, src/memline.c, src/os_mswin.c, + src/os_win32.c, src/terminal.c, src/ui.c, src/undo.c + +Patch 8.1.2065 +Problem: Compiler warning building non-GUI with MinGW. +Solution: Adjust #ifdefs. (Yegappan Lakshmanan, closes #4964) +Files: sre/mouse.c + +Patch 8.1.2066 +Problem: No tests for state(). +Solution: Add tests. Clean up some feature checks. Make "a" flag work. +Files: src/testdir/test_functions.vim, src/testdir/test_terminal.vim, + src/misc1.c + +Patch 8.1.2067 +Problem: No tests for SafeState and SafeStateAgain. +Solution: Add tests. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2068 (after 8.1.2067) +Problem: Test for SafeState and SafeStateAgain may fail. +Solution: Accept more possible responses +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2069 (after 8.1.2068) +Problem: Test for SafeStateAgain may still fail. +Solution: Send another message to trigger SafeStateAgain. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2070 +Problem: Mouse code is spread out. +Solution: Move mouse terminal code parsing to mouse.c. (Yegappan Lakshmanan, + closes #4966) +Files: src/mouse.c, src/proto/mouse.pro, src/proto/term.pro, src/term.c + +Patch 8.1.2071 +Problem: When 'wincolor' is set text property changes highlighting. (Andy + Stewart) +Solution: Fix combining colors. (closes #4968) +Files: src/drawline.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_wincolor_01.dump + +Patch 8.1.2072 +Problem: "gk" moves to start of line instead of upwards. +Solution: Fix off-by-one error. (Christian Brabandt, closes #4969) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.1.2073 +Problem: When editing a buffer 'colorcolumn' may not work. +Solution: Set the buffer before copying option values. Call + check_colorcolumn() after copying window options. +Files: src/buffer.c, src/option.c, src/proto/option.pro, + src/proto/indent.pro, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_colorcolumn_1.dump + +Patch 8.1.2074 +Problem: Test for SafeState autocommand is a bit flaky. +Solution: Add to list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2075 +Problem: Get many log messages when waiting for a typed character. +Solution: Do not repeat the repeated messages when nothing happens. +Files: src/globals.h, src/channel.c, src/main.c + +Patch 8.1.2076 +Problem: Crash when trying to put a terminal buffer in a popup window. +Solution: Check for NULL buffer. Do not allow putting a terminal in a popup + window. +Files: src/libvterm/src/termscreen.c, src/terminal.c, src/popupwin.c, + runtime/doc/popup.txt, src/testdir/test_popupwin.vim + +Patch 8.1.2077 +Problem: The ops.c file is too big. +Solution: Move code for dealing with registers to a new file. (Yegappan + Lakshmanan, closes #4982) +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/ops.c, src/proto.h, src/proto/ops.pro, src/proto/register.pro, + src/register.c, src/structs.h + +Patch 8.1.2078 +Problem: Build error with +textprop but without +terminal. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.1.2079 +Problem: Popup window test fails without +terminal. +Solution: Check for the +terminal feature. +Files: src/testdir/test_popupwin.vim + +Patch 8.1.2080 +Problem: The terminal API is limited and can't be disabled. +Solution: Add term_setapi() to set the function prefix. (Ozaki Kiichi, + closes #2907) +Files: runtime/doc/eval.txt, runtime/doc/terminal.txt, src/channel.c, + src/evalfunc.c, src/proto/terminal.pro, src/structs.h, + src/terminal.c, src/testdir/term_util.vim, + src/testdir/test_terminal.vim + +Patch 8.1.2081 +Problem: The spell.c file is too big. +Solution: Move the code for spell suggestions to a separate file. (Yegappan + Lakshmanan, closes #4988) +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/spell.pro, src/proto/spellsuggest.pro, + src/spell.c, src/spell.h, src/spellsuggest.c + +Patch 8.1.2082 +Problem: Some files have a weird name to fit in 8.3 characters. +Solution: Use a nicer names. +Files: Filelist, Makefile, src/popupmnu.c, src/popupmenu.c, + src/proto/popupmnu.pro, src/proto/popupmenu.pro, + src/Make_cyg_ming.mak, src/Make_morph.mak, src/Make_mvc.mak, + src/Make_vms.mms, src/Makefile, src/proto.h, src/README.md, + src/uninstal.c, src/uninstall.c, uninstal.txt, uninstall.txt, + nsis/gvim.nsi, src/INSTALLpc.txt, src/dosinst.c, src/dosinst.h + +Patch 8.1.2083 +Problem: Multi-byte chars do not work properly with "%.*S" in printf(). +Solution: Use mb_ptr2cells(). Daniel Hahler, closes #4989) +Files: src/testdir/test_expr.vim, src/message.c + +Patch 8.1.2084 +Problem: Amiga: cannot get the user name. +Solution: Use getpwuid() if available. (Ola Söder, closes #4985) +Files: src/os_amiga.c, src/os_amiga.h + +Patch 8.1.2085 +Problem: MS-Windows: draw error moving cursor over double-cell character. +Solution: Move the cursor to the left edge if needed. (Nobuhiro Takasaki, + closes #4986) +Files: src/os_win32.c + +Patch 8.1.2086 (after 8.1.2082) +Problem: Missing a few changes for the renamed files. +Solution: Rename in a few more places. (Ken Takata) +Files: nsis/README.txt, runtime/doc/gui_w32.txt, runtime/doc/usr_90.txt, + src/GvimExt/GvimExt.reg, src/GvimExt/README.txt, + src/proto/popupmenu.pro, src/proto/popupmnu.pro + +Patch 8.1.2087 +Problem: Cannot easily select one test function to execute. +Solution: Support the $TEST_FILTER environment variable. (Ozaki Kiichi, + closes #2695) +Files: src/Makefile, src/testdir/runtest.vim, src/testdir/summarize.vim + +Patch 8.1.2088 +Problem: Renamed libvterm mouse.c file not in distributed file list. +Solution: Rename the file in the file list. +Files: Filelist + +Patch 8.1.2089 (after 8.1.2087) +Problem: Do not get a hint that $TEST_FILTER was active. +Solution: Mention $TEST_FILTER if no functions were executed. +Files: src/testdir/runtest.vim + +Patch 8.1.2090 +Problem: Not clear why channel log file ends. +Solution: Add a "closing" line. +Files: src/channel.c + +Patch 8.1.2091 +Problem: Double free when memory allocation fails. (Zu-Ming Jiang) +Solution: Use VIM_CLEAR() instead of vim_free(). (closes #4991) +Files: src/getchar.c + +Patch 8.1.2092 +Problem: MS-Windows: redirect in system() does not work. +Solution: Handle 'shellxescape' and 'shellxquote' better. (Yasuhiro + Matsumoto, closes #2054) +Files: src/ex_cmds.c, src/misc2.c, src/testdir/test_system.vim + +Patch 8.1.2093 +Problem: MS-Windows: system() test fails. +Solution: Expect CR when using systemlist(). +Files: src/testdir/test_system.vim + +Patch 8.1.2094 +Problem: The fileio.c file is too big. +Solution: Move buf_write() to bufwrite.c. (Yegappan Lakshmanan, + closes #4990) +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/bufwrite.c, src/fileio.c, src/option.c, src/proto.h, + src/proto/bufwrite.pro, src/proto/fileio.pro, src/structs.h + +Patch 8.1.2095 +Problem: Leaking memory when getting item from dict. +Solution: Also free the key when not evaluating. +Files: src/dict.c + +Patch 8.1.2096 +Problem: Too many #ifdefs. +Solution: Graduate FEAT_COMMENTS. +Files: src/feature.h, src/buffer.c, src/change.c, src/edit.c, + src/evalfunc.c, src/fold.c, src/insexpand.c, src/misc1.c, + src/normal.c, src/ops.c, src/option.c, src/optionstr.c, + src/search.c, src/version.c, src/globals.h, src/option.h, + src/optiondefs.h, src/structs.h, runtime/doc/change.txt, + runtime/doc/options.txt, runtime/doc/various.txt + +Patch 8.1.2097 +Problem: :mksession is not sufficiently tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #4992) +Files: src/testdir/test_mksession.vim + +Patch 8.1.2098 (after 8.1.2097) +Problem: mksession test fails on MS-Windows. +Solution: Skip testing with backslashes on MS-Windows. +Files: src/testdir/test_mksession.vim + +Patch 8.1.2099 +Problem: state() test fails on some Mac systems. +Solution: Increase the wait time. (closes #4983) +Files: src/testdir/test_functions.vim + +Patch 8.1.2100 +Problem: :mksession is not sufficiently tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #4993) +Files: src/testdir/test_mksession.vim + +Patch 8.1.2101 +Problem: write_session_file() often defined but not used. +Solution: Adjust the #ifdef. (Yegappan Lakshmanan, closes #4998) +Files: src/session.c + +Patch 8.1.2102 +Problem: Can't build with GTK and FEAT_GUI_GNOME. (Tony Mechelynck) +Solution: Adjust the #ifdef. (Yegappan Lakshmanan) +Files: src/session.c + +Patch 8.1.2103 +Problem: wrong error message if "termdebugger" is not executable. +Solution: Check if "termdebugger" is executable and give a clear error + message. (Ozaki Kiichi, closes #5000) Fix indents. +Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.1.2104 +Problem: The normal.c file is too big. +Solution: Move do_pending_operator() to ops.c. (Yegappan Lakshmanan, + closes #4999). +Files: src/normal.c, src/ops.c, src/proto/normal.pro, src/proto/ops.pro, + src/globals.h + +Patch 8.1.2105 +Problem: MS-Windows: system() may crash. +Solution: Do not use "itmp" when it is NULL. (Yasuhiro Matsumoto, + closes #5005) +Files: src/ex_cmds.c + +Patch 8.1.2106 +Problem: No tests for dragging the mouse beyond the window. +Solution: Add a test. (Dominique Pelle, closes #5004) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2107 +Problem: Various memory leaks reported by asan. +Solution: Free the memory. (Ozaki Kiichi, closes #5003) +Files: src/buffer.c, src/change.c, src/eval.c, src/evalfunc.c, + src/option.c, src/popupwin.c, src/proto/change.pro, + src/scriptfile.c, src/terminal.c, src/testdir/test_method.vim + +Patch 8.1.2108 +Problem: Cannot close the cmdline window from CmdWinEnter. (George Brown) +Solution: Reset cmdwin_result earlier. (Christian Brabandt, closes #4980) +Files: src/ex_getln.c, src/testdir/test_autocmd.vim + +Patch 8.1.2109 +Problem: popup_getoptions() hangs with tab-local popup. +Solution: Correct pointer name. (Marko Mahnič, closes #5006) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.2110 +Problem: CTRL-C closes two popups instead of one. +Solution: Reset got_int when the filter consumed the key. +Files: src/getchar.c, src/testdir/test_popupwin.vim + +Patch 8.1.2111 +Problem: Viminfo file not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5009) +Files: src/testdir/test_viminfo.vim + +Patch 8.1.2112 +Problem: Build number for ConPTY is outdated. +Solution: Update to new build number. (Nobuhiro Takasaki, closes #5014) +Files: src/os_win32.c + +Patch 8.1.2113 +Problem: ":help expr-!~?" only works after searching. +Solution: Escape "~" after "expr-". (closes #5015) +Files: src/ex_cmds.c, src/testdir/test_help.vim + +Patch 8.1.2114 +Problem: When a popup is closed with CTRL-C the callback aborts. +Solution: Reset got_int when invoking the callback. (closes #5008) +Files: src/popupwin.c + +Patch 8.1.2115 +Problem: MS-Windows: shell commands fail if &shell contains a space. +Solution: Use quotes instead of escaping. (closes #4920) +Files: src/option.c, src/os_win32.c, src/testdir/test_startup.vim, + src/testdir/test_system.vim, src/vimrun.c, + +Patch 8.1.2116 +Problem: No check for out of memory. +Solution: Check for NULL pointer. +Files: src/option.c + +Patch 8.1.2117 +Problem: CursorLine highlight used while 'cursorline' is off. +Solution: Check 'cursorline' is set. (cloes #5017) +Files: src/drawline.c, src/testdir/test_cursorline.vim + +Patch 8.1.2118 +Problem: Termcodes test fails when $TERM is "dumb". +Solution: Skip the test. (James McCoy, closes #5019) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2119 +Problem: memory access error for empty string when 'encoding' is a single + byte encoding. +Solution: Check for empty string when getting the length. (Dominique Pelle, + closes #5021, closes #5007) +Files: src/macros.h + +Patch 8.1.2120 +Problem: Some MB_ macros are more complicated than necessary. (Dominique + Pelle) +Solution: Simplify the macros. Expand inline. +Files: src/macros.h, src/beval.c, src/diff.c src/eval.c src/evalfunc.c + src/ex_getln.c, src/filepath.c, src/findfile.c, src/getchar.c, + src/highlight.c, src/ops.c, src/os_mswin.c, src/popupmenu.c, + src/search.c, src/spell.c, src/spellsuggest.c, src/terminal.c + +Patch 8.1.2121 +Problem: Mode is not updated when switching to terminal in Insert mode. +Solution: Redraw the mode when entering a terminal window. (Jason Franklin) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.1.2122 (after 8.1.2121) +Problem: Cannot build without terminal feature. +Solution: Add #ifdef. +Files: src/window.c + +Patch 8.1.2123 +Problem: Parsing CSI sequence is messy. +Solution: Generalize parsing a CSI sequence. +Files: src/term.c + +Patch 8.1.2124 +Problem: Ruler is not updated if win_execute() moves cursor. +Solution: Update the status line. (closes #5022) +Files: src/evalwindow.c, src/testdir/test_execute_func.vim + +Patch 8.1.2125 +Problem: Fnamemodify() fails when repeating :e. +Solution: Do not go before the tail. (Rob Pilling, closes #5024) +Files: src/filepath.c, src/testdir/test_fnamemodify.vim + +Patch 8.1.2126 +Problem: Viminfo not sufficiently tested. +Solution: Add more test cases. Clean up comments. (Yegappan Lakshmanan, + closes #5032) +Files: src/search.c, src/structs.h, src/testdir/test_viminfo.vim, + src/viminfo.c + +Patch 8.1.2127 +Problem: The indent.c file is a bit big. +Solution: Move C-indent code a a new cindent.c file. Move other + indent-related code to indent.c. (Yegappan Lakshmanan, + closes #5031) +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/change.c, src/cindent.c, src/edit.c, src/evalfunc.c, + src/ex_cmds.c, src/globals.h, src/indent.c, src/misc1.c, + src/ops.c, src/proto.h, src/proto/cindent.pro, src/proto/edit.pro, + src/proto/ex_cmds.pro, src/proto/indent.pro, src/proto/misc1.pro, + src/proto/ops.pro, src/userfunc.c + +Patch 8.1.2128 +Problem: Renamed libvterm sources makes merging difficult. +Solution: Rename back to the original name and only rename the .o files. + Also clean the libvterm build artifacts. (James McCoy, + closes #5027) +Files: src/libvterm/src/termmouse.c, src/libvterm/src/mouse.c, + src/libvterm/src/termscreen.c, src/libvterm/src/screen.c, + src/Makefile, src/configure.ac, src/auto/configure, + src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.1.2129 +Problem: Using hard coded executable path in test. +Solution: Use v:progpath. Use $VIMRUNTIME instead of "runtime". (James + McCoy, closes #5025) +Files: src/testdir/test49.vim, src/testdir/test_compiler.vim, + src/testdir/test_spell.vim + +Patch 8.1.2130 (after 8.1.2128) +Problem: MSVC build fails. +Solution: Add the source file name explicitly. +Files: src/Make_mvc.mak + +Patch 8.1.2131 (after 8.1.2129) +Problem: MSVC tests fail. +Solution: Replace backslashes with slashes. +Files: src/testdir/test_compiler.vim, src/testdir/test_spell.vim + +Patch 8.1.2132 +Problem: MS-Windows: screen mess when not recognizing insider build. +Solution: Always move the cursor to the first column first. (Nobuhiro + Takasaki, closes #5036) +Files: src/os_win32.c + +Patch 8.1.2133 +Problem: Some tests fail when run as root. +Solution: Add CheckNotRoot and use it. (James McCoy, closes #5020) +Files: src/testdir/check.vim, src/testdir/shared.vim, + src/testdir/test_rename.vim, src/testdir/test_swap.vim, + src/testdir/test_terminal.vim, src/testdir/test_viminfo.vim + +Patch 8.1.2134 +Problem: Modifier keys are not always recognized. +Solution: Handle key codes generated by xterm with modifyOtherKeys set. + Add this to libvterm so we can debug it. +Files: src/term.c, src/getchar.c, src/libvterm/src/vterm_internal.h, + src/libvterm/src/state.c, src/libvterm/src/keyboard.c, + src/libvterm/include/vterm.h, src/globals.h, src/terminal.c + +Patch 8.1.2135 +Problem: With modifyOtherKeys Alt-a does not work properly. +Solution: Remove the ALT modifier. Get multi-byte after applying ALT. +Files: src/getchar.c + +Patch 8.1.2136 +Problem: using freed memory with autocmd from fuzzer. (Dhiraj Mishra, + Dominique Pelle) +Solution: Avoid using "wp" after autocommands. (closes #5041) +Files: src/window.c, src/testdir/test_autocmd.vim + +Patch 8.1.2137 +Problem: Parsing the termresponse is not tested. +Solution: Add a first test. (related to #5042) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2138 +Problem: Including the build number in the Win32 binary is confusing. +Solution: Only use the patchlevel. +Files: src/vim.rc + +Patch 8.1.2139 +Problem: The modifyOtherKeys codes are not tested. +Solution: Add a test case. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2140 +Problem: "gk" and "gj" do not work correctly in number column. +Solution: Allow for a negative "curswant". (Zach Wegner, closes #4969) +Files: src/testdir/test_normal.vim, src/misc2.c, src/normal.c + +Patch 8.1.2141 +Problem: :tselect has an extra hit-enter prompt. +Solution: Do not set need_wait_return when only moving the cursor. + (closes #5040) +Files: src/message.c, src/testdir/test_tagjump.vim, + src/testdir/dumps/Test_tselect_1.dump + +Patch 8.1.2142 +Problem: Some key mappings do not work with modifyOtherKeys. +Solution: Remove the Shift modifier if it is already included in the key. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.2143 +Problem: Cannot see each command even when 'verbose' is set. +Solution: List each command when 'verbose' is at least 16. +Files: src/ex_docmd.c src/testdir/test_tagjump.vim, + src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_verbose_option_1.dump + +Patch 8.1.2144 +Problem: Side effects when using t_ti to enable modifyOtherKeys. +Solution: Add t_TI and t_TE. +Files: runtime/doc/term.txt, src/term.c, src/optiondefs.h, src/term.h, + +Patch 8.1.2145 +Problem: Cannot map when modifyOtherKeys is enabled. +Solution: Add the mapping twice, both with modifier and as 0x08. Use + only the first one when modifyOtherKeys has been detected. +Files: src/term.c, src/eval.c, src/getchar.c, src/globals.h, + src/gui_mac.c, src/gui_w32.c, src/highlight.c, src/if_ole.cpp, + src/main.c, src/map.c, src/menu.c, src/misc2.c, src/option.c, + src/proto/misc2.pro, src/proto/term.pro, + src/testdir/test_termcodes.vim, src/structs.h, src/terminal.c, + src/usercmd.c, src/vim.h + +Patch 8.1.2146 (after 8.1.2145) +Problem: Build failure. +Solution: Include omitted changed file. +Files: src/optionstr.c + +Patch 8.1.2147 +Problem: Crash when allocating memory fails. (Zu-Ming Jiang) +Solution: Check that 'spellcapcheck' is not NULL. (closes #5048) +Files: src/spell.c + +Patch 8.1.2148 +Problem: No test for right click extending Visual area. +Solution: Add a test. (Dominique Pelle, closes #5018) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2149 +Problem: Crash when running out of memory very early. +Solution: Do not use IObuff when it's NULL. (closes #5052) +Files: src/message.c + +Patch 8.1.2150 +Problem: No test for 'ttymouse' set from xterm version response. +Solution: Test the three possible values. +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2151 +Problem: State test is a bit flaky. +Solution: Add to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2152 +Problem: Problems navigating tags file on MacOS Catalina. +Solution: Use fseek instead of lseek. (John Lamb, fixes #5061) +Files: src/tag.c + +Patch 8.1.2153 +Problem: Combining text property and syntax highlight is wrong. (Nick + Jensen) +Solution: Compute the syntax highlight attribute much earlier. + (closes #5057) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_syn_1.dump + +Patch 8.1.2154 +Problem: Quickfix window height wrong when there is a tabline. (Daniel + Hahler) +Solution: Take the tabline height into account. (closes #5058) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2155 +Problem: In a terminal window 'cursorlineopt' does not work properly. +Solution: Check the 'cursorlineopt' value. (closes #5055) +Files: src/drawline.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_normal_1.dump, + src/testdir/dumps/Test_terminal_normal_2.dump, + src/testdir/dumps/Test_terminal_normal_3.dump + +Patch 8.1.2156 +Problem: First character after Tab is not highlighted. +Solution: Remember the syntax attribute for a column. +Files: src/drawline.c, src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2157 +Problem: Libvterm source files missing from distribution. +Solution: Rename source files. (closes #5065) +Files: Filelist + +Patch 8.1.2158 +Problem: Terminal attributes missing in Terminal-normal mode. +Solution: Use "syntax_attr". +Files: src/drawline.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_dumpload.dump + +Patch 8.1.2159 +Problem: Some mappings are listed twice. +Solution: Skip mappings duplicated for modifyOtherKeys. (closes #5064) +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.1.2160 +Problem: Cannot build with +syntax but without +terminal. +Solution: Add #ifdef. +Files: src/drawline.c + +Patch 8.1.2161 +Problem: Mapping test fails. +Solution: Run the test separately. +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.1.2162 +Problem: Popup resize test is flaky. (Christian Brabandt) +Solution: Add the function to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2163 +Problem: Cannot build with +spell but without +syntax. +Solution: Add #ifdef. (John Marriott) +Files: src/drawline.c + +Patch 8.1.2164 +Problem: Stuck when using "j" in a popupwin with popup_filter_menu if a + line wraps. +Solution: Check the cursor line is visible. (closes #4577) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_wrap_1.dump, + src/testdir/dumps/Test_popupwin_wrap_2.dump + +Patch 8.1.2165 +Problem: Mapping test fails on Mac. +Solution: Remove the default Mac mapping. +Files: src/testdir/test_mapping.vim + +Patch 8.1.2166 +Problem: Rubyeval() not tested as a method. +Solution: Change a test case. +Files: src/testdir/test_ruby.vim + +Patch 8.1.2167 +Problem: Mapping test fails on MS-Windows. +Solution: Remove all the existing Insert-mode mappings. +Files: src/testdir/test_mapping.vim + +Patch 8.1.2168 +Problem: Heredoc assignment not skipped in if block. +Solution: Check if "skip" is set. (closes #5063) +Files: src/evalvars.c, src/testdir/test_let.vim + +Patch 8.1.2169 +Problem: Terminal flags are never reset. +Solution: Reset the flags when setting 'term'. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.2170 (after 8.1.2169) +Problem: Cannot build without the +termresponse feature. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.1.2171 +Problem: Mouse support not always available. +Solution: Enable mouse support also in tiny version. Do not define + FEAT_MOUSE_XTERM on MS-Windows (didn't really work). +Files: src/feature.h, src/edit.c, src/evalfunc.c, src/ex_getln.c, + src/getchar.c, src/message.c, src/misc1.c, src/mouse.c, + src/move.c, src/normal.c, src/ops.c, src/option.c, + src/optionstr.c, src/os_unix.c, src/os_win32.c, src/register.c, + src/term.c, src/testing.c, src/window.c, src/globals.h, + src/option.h, src/optiondefs.h, src/os_win32.h, src/vim.h, + src/version.c + +Patch 8.1.2172 +Problem: Spell highlight is wrong at start of the line. +Solution: Fix setting the "v" variable. (closes #5078) +Files: src/drawline.c, src/testdir/test_spell.vim, + src/testdir/dumps/Test_spell_1.dump + +Patch 8.1.2173 +Problem: Searchit() has too many arguments. +Solution: Move optional arguments to a struct. Add the "wrapped" argument. +Files: src/search.c, src/proto/search.pro, src/structs.h, src/evalfunc.c, + src/ex_docmd.c, src/gui.c, src/quickfix.c, src/spell.c, src/tag.c, + src/ex_getln.c, src/insexpand.c, src/normal.c + +Patch 8.1.2174 +Problem: Screen not recognized as supporting "sgr" mouse codes. +Solution: Recognize screen 4.7. (Jordan Christiansen, closes #5042) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.1.2175 +Problem: Meson files are not recognized. +Solution: Add the meson filetype. (Liam Beguin , Nirbheek Chauhan, + closes #5056) Also recognize hollywood. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.2176 +Problem: Syntax attributes not combined with Visual highlighting. (Arseny + Nasokin) +Solution: Combine the attributes. (closes #5083) +Files: src/drawline.c, src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2177 +Problem: Dart files are not recognized. +Solution: Add a filetype rule. (Eugene Ciurana, closes #5087) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.2178 +Problem: Accessing uninitialized memory in test. +Solution: Check if there was a match before using the match position. + (Dominique Pelle, closes #5088) +Files: src/search.c + +Patch 8.1.2179 +Problem: Pressing "q" at the more prompt doesn't stop Python output. (Daniel + Hahler) +Solution: Check for got_int in writer(). (closes #5053) + Also do this for Lua. +Files: src/if_py_both.h, src/if_lua.c + +Patch 8.1.2180 +Problem: Error E303 is not useful when 'directory' is empty. +Solution: Skip the error message. (Daniel Hahler, #5067) +Files: src/memline.c, src/testdir/test_recover.vim, + runtime/doc/options.txt, runtime/doc/message.txt + +Patch 8.1.2181 +Problem: Highlighting wrong when item follows tab. +Solution: Don't use syntax attribute when n_extra is non-zero. + (Christian Brabandt, closes #5076) +Files: src/drawline.c, src/feature.h, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2182 +Problem: Test42 seen as binary by git diff. +Solution: Add .gitattributes file. Make explicit that 'cpo' does not + contain 'S'. (Daniel Hahler, closes #5072) +Files: .gitattributes, Filelist, src/testdir/test42.in + +Patch 8.1.2183 +Problem: Running a test is a bit verbose. +Solution: Silence some messages. (Daniel Hahler, closes #5070) +Files: src/testdir/Makefile + +Patch 8.1.2184 +Problem: Option context is not copied when splitting a window. (Daniel + Hahler) +Solution: Copy the option context, so that ":verbose set" works. + (closes #5066) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.1.2185 (after 8.1.2181) +Problem: Syntax test fails. +Solution: Add missing file patch. +Files: src/testdir/test_syntax.vim + +Patch 8.1.2186 (after 8.1.2184) +Problem: Cannot build without the +eval feature. +Solution: Move line inside #ifdef. +Files: src/option.c + +Patch 8.1.2187 +Problem: Error for bad regexp even though regexp is not used when writing + a file. (Arseny Nasokin) +Solution: Ignore regexp errors. (closes #5059) +Files: src/cmdexpand.c, src/ex_docmd.c, src/testdir/test_writefile.vim + +Patch 8.1.2188 (after 8.1.2187) +Problem: Build error for missing define. +Solution: Add missing change. +Files: src/vim.h + +Patch 8.1.2189 +Problem: Syntax highlighting wrong for tab. +Solution: Don't clear syntax attribute n_extra is non-zero. +Files: src/drawline.c, src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2190 +Problem: Syntax test fails on Mac. +Solution: Limit the window size to 20 rows. +Files: src/testdir/test_syntax.vim, + src/testdir/dumps/Test_syntax_c_01.dump + +Patch 8.1.2191 +Problem: When using modifyOtherKeys CTRL-X mode may not work. +Solution: Recognize a control character also in the form with a modifier. +Files: src/getchar.c + +Patch 8.1.2192 +Problem: Cannot easily fill the info popup asynchronously. +Solution: Add the "popuphidden" value to 'completeopt'. (closes #4924) +Files: src/popupmenu.c, src/proto/popupmenu.pro, src/popupwin.c, + src/proto/popupwin.pro, src/vim.h, runtime/doc/options.txt, + runtime/doc/insert.txt, src/ex_cmds.c, src/proto/ex_cmds.pro, + src/optionstr.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_hidden_1.dump, + src/testdir/dumps/Test_popupwin_infopopup_hidden_2.dump, + src/testdir/dumps/Test_popupwin_infopopup_hidden_3.dump + +Patch 8.1.2193 +Problem: Popup_setoptions(popup_getoptions()) does not work. +Solution: Also accept a list with three entries for "moved" and + "mousemoved". (closes #5081) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.2194 +Problem: ModifyOtherKeys is not enabled by default. +Solution: Add t_TI and t_TE to the builtin xterm termcap. +Files: runtime/doc/map.txt, src/term.c + +Patch 8.1.2195 +Problem: Vim does not exit when closing a terminal window and it is the + last window. +Solution: Exit Vim if the closed terminal window is the last one. + (closes #4539) +Files: runtime/doc/terminal.txt, src/terminal.c, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/testdir/test_terminal.vim + +Patch 8.1.2196 +Problem: MS-Windows: running tests with MSVC lacks updates. +Solution: Improve running individual tests on MS-Windows. (closes #4922) +Files: src/Make_mvc.mak, src/testdir/Make_dos.mak + +Patch 8.1.2197 +Problem: ExitPre autocommand may cause accessing freed memory. +Solution: Check the window pointer is still valid. (closes #5093) +Files: src/testdir/test_exit.vim, src/ex_docmd.c + +Patch 8.1.2198 +Problem: Crash when using :center in autocommand. +Solution: Bail out early for an empty line. (Dominique pelle, closes #5095) +Files: src/ex_cmds.c, src/testdir/test_textformat.vim + +Patch 8.1.2199 +Problem: Build failure when using normal features without GUI and EXITFREE + defined. +Solution: Add #ifdef. (Dominique Pelle, closes #5106) +Files: src/scriptfile.c + +Patch 8.1.2200 +Problem: Crash when memory allocation fails. +Solution: Check for NULL curwin and curbuf. (Christian Brabandt, + closes #4839) +Files: src/getchar.c + +Patch 8.1.2201 +Problem: Cannot build with dynamically linked Python 3.8. +Solution: Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata, + closes #4080) +Files: src/if_python3.c + +Patch 8.1.2202 +Problem: MS-Windows: build failure with GUI and small features. +Solution: Add #ifdef. (Michael Soyka, closes #5097) +Files: src/gui_w32.c + +Patch 8.1.2203 +Problem: Running libvterm tests without the +terminal feature. +Solution: Only add the libvterm test target when building libvterm. +Files: src/configure.ac, src/auto/configure, src/config.mk.in, + src/Makefile + +Patch 8.1.2204 +Problem: Crash on exit when closing terminals. (Corey Hickey) +Solution: Actually wait for the job to stop. (closes #5100) +Files: src/terminal.c + +Patch 8.1.2205 +Problem: Sign entry structure has confusing name. +Solution: Rename signlist_T to sign_entry_T and prefix se_ to the fields. +Files: src/structs.h, src/netbeans.c, src/sign.c, src/globals.h, + src/drawline.c + +Patch 8.1.2206 +Problem: No test for fixed issue #3893. +Solution: Add a test. (Christian Brabandt, #3893) +Files: src/testdir/test_display.vim, + src/testdir/dumps/Test_winline_rnu.dump + +Patch 8.1.2207 +Problem: "gn" doesn't work quite right. (Jaehwang Jerry Jung) +Solution: Improve and simplify the search logic. (Christian Brabandt, + closes #5103, closes #5075) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.2208 +Problem: Unix: Tabs in output might be expanded to spaces. +Solution: Reset the XTABS flag. (closes #5108) +Files: src/os_unix.c + +Patch 8.1.2209 +Problem: LF in escape codes may be expanded to CR-LF. +Solution: Do not expand LF in escape codes to CR-LF. (closes #5107) +Files: src/term.c + +Patch 8.1.2210 +Problem: Using negative offset for popup_create() does not work. +Solution: Use -1 instead of zero. (closes #5111) +Files: src/popupwin.c, src/popupwin.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_corners.dump + +Patch 8.1.2211 +Problem: Listener callback "added" argument is not the total. (Andy + Massimino) +Solution: Compute the total. (closes #5105) +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.1.2212 +Problem: Cannot see the selection type in :reg output. (Ayberk Aydın) +Solution: Add c/l/b. (Christian Brabandt, closes #5110, closes #4546) +Files: runtime/doc/change.txt, src/register.c, + src/testdir/test_registers.vim + +Patch 8.1.2213 +Problem: Popup_textprop tests fail. +Solution: Adjust the column and line positioning. +Files: src/popupwin.c + +Patch 8.1.2214 +Problem: Too much is redrawn when 'cursorline' is set. +Solution: Don't do a complete redraw. (closes #5079) +Files: src/main.c, src/change.c, src/drawscreen.c, + src/testdir/dumps/Test_Xcursorline_13.dump, + src/testdir/dumps/Test_Xcursorline_14.dump, + src/testdir/dumps/Test_Xcursorline_15.dump, + src/testdir/dumps/Test_Xcursorline_16.dump, + src/testdir/dumps/Test_Xcursorline_17.dump, + src/testdir/dumps/Test_Xcursorline_18.dump + +Patch 8.1.2215 +Problem: Unreachable code in adjusting text prop columns. +Solution: Remove the code. (Christian Brabandt) +Files: src/textprop.c + +Patch 8.1.2216 +Problem: Text property in wrong place after :substitute. +Solution: Pass the new column instead of the old one. (Christian Brabandt, + closes #4427) +Files: src/ex_cmds.c, src/testdir/test_textprop.vim + +Patch 8.1.2217 +Problem: Compiler warning for unused variable. +Solution: Move variable inside #ifdef. (John Marriott) +Files: src/ex_cmds.c + +Patch 8.1.2218 +Problem: "gN" is off by one in Visual mode. +Solution: Check moving forward. (Christian Brabandt, #5075) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.2219 +Problem: No autocommand for open window with terminal. +Solution: Add TerminalWinOpen. (Christian Brabandt) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/terminal.c, + src/testdir/test_terminal.vim, src/vim.h + +Patch 8.1.2220 +Problem: :cfile does not abort like other quickfix commands. +Solution: Abort when desired. Add tests for aborting. (Yegappan Lakshmanan, + closes #5121) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2221 +Problem: Cannot filter :disp output. +Solution: Support filtereing :disp output. (Andi Massimino, closes #5117) +Files: runtime/doc/various.txt, src/register.c, + src/testdir/test_filter_cmd.vim + +Patch 8.1.2222 +Problem: Accessing invalid memory. (Dominique Pelle) +Solution: Reset highlight_match every time. (closes #5125) +Files: src/ex_getln.c + +Patch 8.1.2223 +Problem: Cannot see what buffer an ml_get error is for. +Solution: Add the buffer number and name in the message +Files: src/memline.c + +Patch 8.1.2224 +Problem: Cannot build Amiga version. +Solution: Add dummy mch_setmouse(). (Ola Söder, closes #5126) +Files: src/os_amiga.c, src/proto/os_amiga.pro + +Patch 8.1.2225 +Problem: The "last used" info of a buffer is under used. +Solution: Add "lastused" to getbufinfo(). List buffers sorted by last-used + field. (Andi Massimino, closes #4722) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/windows.txt, src/buffer.c, src/evalbuffer.c, + src/ex_getln.c, src/misc1.c, src/option.c, src/option.h, + src/proto/misc1.pro, src/proto/viminfo.pro, + src/testdir/test_bufwintabinfo.vim, src/testdir/test_cmdline.vim, + src/testdir/test_excmd.vim, src/undo.c, src/vim.h, src/viminfo.c + +Patch 8.1.2226 +Problem: Cannot use system copy/paste in non-xterm terminals. +Solution: Instead of setting 'mouse' to "a" set it to "nvi" in defaults.vim. +Files: runtime/defaults.vim, runtime/doc/term.txt, + runtime/doc/options.txt + +Patch 8.1.2227 +Problem: Layout wrong if 'lines' changes while cmdline window is open. +Solution: Do not restore the window layout if 'lines' changed. + (closes #5130) +Files: src/window.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_cmdwin_restore_1.dump, + src/testdir/dumps/Test_cmdwin_restore_2.dump, + src/testdir/dumps/Test_cmdwin_restore_3.dump + +Patch 8.1.2228 +Problem: screenpos() returns wrong values when 'number' is set. (Ben + Jackson) +Solution: Compare the column with the window width. (closes #5133) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.1.2229 +Problem: Cannot color number column above/below cursor differently. +Solution: Add LineNrAbove and LineNrBelow. (Shaun Brady, closes #624) +Files: runtime/doc/syntax.txt, runtime/doc/options.txt, src/optiondefs.h, + src/drawline.c, src/vim.h, src/testdir/test_number.vim, + src/testdir/dumps/Test_relnr_colors_1.dump, + src/testdir/dumps/Test_relnr_colors_2.dump, + src/testdir/dumps/Test_relnr_colors_3.dump, + src/testdir/dumps/Test_relnr_colors_4.dump + +Patch 8.1.2230 +Problem: MS-Windows: testing external commands can be improved. +Solution: Adjust tests, remove duplicate test. (closes #4928) +Files: src/testdir/test_normal.vim, src/testdir/test_system.vim, + src/testdir/test_terminal.vim, src/testdir/test_undo.vim + +Patch 8.1.2231 +Problem: Not easy to move to the middle of a text line. +Solution: Add the gM command. (Yasuhiro Matsumoto, closes #2070) +Files: runtime/doc/index.txt, runtime/doc/motion.txt, + runtime/doc/quickref.txt, runtime/doc/usr_25.txt, src/normal.c, + src/testdir/test_normal.vim + +Patch 8.1.2232 +Problem: MS-Windows: compiler warning for int size. +Solution: Add type cast. (Mike Williams) +Files: src/normal.c + +Patch 8.1.2233 +Problem: Cannot get the Vim command line arguments. +Solution: Add v:argv. (Dmitri Vereshchagin, closes #1322) +Files: runtime/doc/eval.txt, src/evalvars.c, src/vim.h, + src/proto/evalvars.pro, src/main.c, src/testdir/test_startup.vim + +Patch 8.1.2234 +Problem: get_short_pathname() fails depending on encoding. +Solution: Use the wide version of the library function. (closes #5129) +Files: src/filepath.c, src/testdir/test_shortpathname.vim + +Patch 8.1.2235 +Problem: "C" with 'virtualedit' set does not include multi-byte char. +Solution: Include the whole multi-byte char. (Nobuhiro Takasaki, + closes #5152) +Files: src/ops.c, src/testdir/test_virtualedit.vim + +Patch 8.1.2236 +Problem: Ml_get error if pattern matches beyond last line. +Solution: Adjust position if needed. (Christian Brabandt, closes #5139) +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.1.2237 +Problem: Mode() result after usign "r" depends on whether CURSOR_SHAPE is + defined. (Christian Brabandt) +Solution: Move the #ifdef to only skip ui_cursor_shape(). +Files: src/normal.c + +Patch 8.1.2238 +Problem: Error in docs tags goes unnoticed. +Solution: Adjust tags build command. (Ken Takata, closes #5158) +Files: Filelist, .travis.yml, runtime/doc/Makefile, + runtime/doc/doctags.vim + +Patch 8.1.2239 +Problem: CI fails when running tests without building Vim. +Solution: Skip creating doc tags if the execute does not exist. +Files: runtime/doc/Makefile + +Patch 8.1.2240 +Problem: Popup window width changes when scrolling. +Solution: Also adjust maxwidth when applying minwidth and there is a + scrollbar. Fix off-by-one error. (closes #5162) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_11.dump, + src/testdir/dumps/Test_popupwin_scroll_12.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump, + src/testdir/dumps/Test_popupwin_previewpopup_7.dump, + src/testdir/dumps/Test_popupwin_previewpopup_8.dump, + +Patch 8.1.2241 +Problem: Match highlight does not combine with 'wincolor'. +Solution: Apply 'wincolor' last on top of any other attribute. (closes #5159) +Files: src/drawline.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_matches.dump + src/testdir/dumps/Test_popupwin_menu_01.dump + src/testdir/dumps/Test_popupwin_menu_02.dump + src/testdir/dumps/Test_popupwin_menu_04.dump + +Patch 8.1.2242 +Problem: Creating docs tags uses user preferences. (Tony Mechelynck) +Solution: Add "--clean". +Files: runtime/doc/Makefile + +Patch 8.1.2243 +Problem: Typos in comments. +Solution: Fix the typos. (Dominique Pelle, closes #5160) Also adjust + formatting a bit. +Files: src/autocmd.c, src/buffer.c, src/cindent.c, src/crypt.c, + src/diff.c, src/getchar.c, src/globals.h, src/gui_gtk_x11.c, + src/highlight.c, src/insexpand.c, src/macros.h, src/map.c, + src/memline.c, src/message.c, src/option.c, src/os_unix.c, + src/pty.c, src/quickfix.c, src/regexp_nfa.c, src/register.c, + src/spellsuggest.c, src/structs.h, src/textprop.c, src/ui.c, + src/undo.c, src/vim.h, src/viminfo.c + +Patch 8.1.2244 +Problem: 'wrapscan' is not used for "gn". +Solution: Only reset 'wrapscan' for the first search round. (closes #5164) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.1.2245 +Problem: Third character of 'listchars' tab shows in wrong place when + 'breakindent' is set. +Solution: Set c_final to NUL. (Naruhiko Nishino, closes #5165) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.1.2246 +Problem: Some tests are still in old style. +Solution: Change a few tests to new style. (Yegappan Lakshmanan) +Files: src/testdir/Make_all.mak, src/testdir/test49.ok, + src/testdir/test49.vim, src/testdir/test_trycatch.vim, + src/testdir/test_vimscript.vim + +Patch 8.1.2247 +Problem: "make vimtags" does not work in runtime/doc. +Solution: Test existence with "which" instead of "test -x". (Ken Takata) +Files: runtime/doc/Makefile + +Patch 8.1.2248 +Problem: CTRL-W dot does not work in a terminal when modifyOtherKeys is + enabled. +Solution: Use the modifier when needed. Pass the modifier along with the + key to avoid mistakes. +Files: src/terminal.c, src/proto/terminal.pro, src/mouse.c + +Patch 8.1.2249 +Problem: "make vimtags" does not print any message. +Solution: Add a message that the tags have been updated. +Files: runtime/doc/Makefile + +Patch 8.1.2250 +Problem: CTRL-U and CTRL-D don't work in popup window. +Solution: Initialize 'scroll'. Add "lastline" in popup_getpos(). + (closes #5170) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + runtime/doc/popup.txt + +Patch 8.1.2251 +Problem: ":term command" may not work without a shell. +Solution: Add the ++shell option to :term. (closes #3340) +Files: runtime/doc/terminal.txt, src/terminal.c, + src/os_unix.c, src/proto/os_unix.pro, + src/testdir/test_terminal.vim + +Patch 8.1.2252 +Problem: Compiler warning for int size. +Solution: Add type cast. (Mike Williams) +Files: src/filepath.c + +Patch 8.1.2253 +Problem: Using "which" to check for an executable is not reliable. +Solution: Use "command -v" instead. Also exit with error code when + generating tags has an error. (closes #5174) +Files: runtime/doc/Makefile + +Patch 8.1.2254 +Problem: MS-Windows: mouse scroll wheel doesn't work in popup. +Solution: Handle mouse wheel events separately. (closes #5138) +Files: src/gui_w32.c, src/gui.c, src/proto/gui.pro + +Patch 8.1.2255 +Problem: ":term ++shell" does not work on MS-Windows. +Solution: Add MS-Windows support. +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.1.2256 (after 8.1.2255) +Problem: Test for ":term ++shell" fails on MS-Windows. +Solution: Accept failure of "dir" executable. +Files: src/testdir/test_terminal.vim + +Patch 8.1.2257 +Problem: MS-Windows GUI: scroll wheel always uses current window. +Solution: Add the 'scrollfocus' option for MS-Windows. +Files: runtime/doc/options.txt, src/gui_w32.c, src/optiondefs.h, + src/option.h + +Patch 8.1.2258 +Problem: May get hit-enter prompt after entering a number. (Malcolm Rowe) +Solution: Put back accidentally deleted lines. (closes #5176) +Files: src/misc1.c + +Patch 8.1.2259 +Problem: Running tests may leave XfakeHOME behind. +Solution: Source summarize.vim without using setup.vim. (closes #5177) + Also fix that on MS-Windows the test log isn't echoed. +Files: src/testdir/Makefile, src/testdir/Make_dos.mak + +Patch 8.1.2260 +Problem: Terminal test may fail on MS-Windows. +Solution: Catch the situation that "term dir" fails with a CreateProcess + error. +Files: src/testdir/test_terminal.vim + +Patch 8.1.2261 +Problem: With modifyOtherKeys set 'noesckeys' doesn't work. (James McCoy) +Solution: Disable modifyOtherKeys while in Insert mode when 'noesckeys' is + set. (closes #5180) +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.1.2262 +Problem: Unpack assignment in function not recognized. +Solution: Skip over "[a, b]". (closes #5051) +Files: src/userfunc.c, src/testdir/test_let.vim + +Patch 8.1.2263 +Problem: 'noesckeys' test fails in GUI. +Solution: Skip the test in the GUI. +Files: src/testdir/test_edit.vim + +Patch 8.1.2264 +Problem: There are two test files for :let. +Solution: Merge the two files. +Files: src/testdir/test_assign.vim, src/testdir/test_let.vim, + src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.1.2265 +Problem: When popup with "botleft" does not fit it flips incorrectly. +Solution: Only flip when there is more space on the other side. Add the + "posinvert" option to disable flipping and do it in both + directions if enabled. (closes #5151) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/vim.h, + src/testdir/dumps/Test_popupwin_nospace.dump + +Patch 8.1.2266 +Problem: Position unknown for a mouse click in a popup window. +Solution: Set v:mouse_col and v:mouse_lnum. (closes #5171) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.1.2267 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Rearrange the code. +Files: src/buffer.c + +Patch 8.1.2268 +Problem: Spell file flag zero is not recognized. +Solution: Use -1 as an error value, so that zero can be used as a valid flag + number. +Files: src/spellfile.c, src/testdir/test_spell.vim + +Patch 8.1.2269 +Problem: Tags file with very long line stops using binary search. +Solution: Reallocate the buffer if needed. +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.1.2270 +Problem: "gf" is not tested in Visual mode. +Solution: Add Visual mode test and test errors. (Dominique Pelle, + closes #5197) +Files: src/testdir/test_gf.vim + +Patch 8.1.2271 +Problem: Build error if FEAT_TAG_BINS is not defined. (John Marriott) +Solution: Add #ifdef. +Files: src/tag.c + +Patch 8.1.2272 +Problem: Test may hang at more prompt. +Solution: Reset 'more' after resetting 'compatible'. (Michael Soyka) +Files: src/testdir/test_vimscript.vim + +Patch 8.1.2273 +Problem: Wrong default when "pos" is changed with popup_atcursor(). +Solution: Adjust the default line and col when "pos" is not the default + value. (#5151) +Files: runtime/doc/popup.txt, src/structs.h, src/popupwin.c, + src/proto/popupwin.pro, src/ex_cmds.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_atcursor_pos.dump + +Patch 8.1.2274 +Problem: Newlines in 'balloonexpr' result only work in the GUI. +Solution: Also recognize newlines in the terminal. (closes #5193) +Files: src/popupmenu.c, 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.1.2275 +Problem: Using "seesion" looks like a mistake. +Solution: Use an underscore to make the function sort first. +Files: src/testdir/test_mksession.vim + +Patch 8.1.2276 +Problem: MS-Windows: session test leaves files behind. +Solution: Wipe out buffers before deleting the directory. (closes #5187) +Files: src/testdir/test_mksession.vim + +Patch 8.1.2277 +Problem: Terminal window is not updated when info popup changes. +Solution: Redraw windows when re-using an info popup. (closes #5192) +Files: src/ex_cmds.c + +Patch 8.1.2278 +Problem: Using "cd" with "exe" may fail. +Solution: Use chdir() instead. +Files: src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim, + src/testdir/test_cd.vim, src/testdir/test_expand.vim, + src/testdir/test_find_complete.vim, src/testdir/test_findfile.vim, + src/testdir/test_getcwd.vim, src/testdir/test_shortpathname.vim + +Patch 8.1.2279 +Problem: Computation of highlight attributes is too complicated. +Solution: Simplify the attribute computation and make it more consistent. + (closes #5190) Fix that 'combine' set to zero doesn't work. +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.1.2280 +Problem: Crash when passing partial to substitute(). +Solution: Take extra arguments into account. (closes #5186) +Files: src/userfunc.c, src/structs.h, src/regexp.c, src/proto/regexp.pro, + src/testdir/test_substitute.vim + +Patch 8.1.2281 +Problem: 'showbreak' cannot be set for one window. +Solution: Make 'showbreak' global-local. +Files: src/optiondefs.h, src/option.c, src/option.h, + src/proto/option.pro, src/structs.h, src/charset.c, + src/drawline.c, src/edit.c, src/move.c, src/normal.c, src/ops.c, + src/optionstr.c, src/testdir/test_highlight.vim, + src/testdir/test_breakindent.vim, runtime/doc/options.txt + +Patch 8.1.2282 +Problem: Crash when passing many arguments through a partial. (Andy + Massimino) +Solution: Check the number of arguments. (closes #5186) +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/regexp.c, src/testdir/test_expr.vim, + src/testdir/test_substitute.vim + +Patch 8.1.2283 +Problem: Missed one use of p_sbr. +Solution: Add missing p_sbr change. +Files: src/indent.c + +Patch 8.1.2284 +Problem: Compiler warning for unused variable. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/move.c + +Patch 8.1.2285 +Problem: Padding in structures wastes memory. +Solution: Move fields to avoid padding. (Dominique Pelle, closes #5202) +Files: src/structs.h + +Patch 8.1.2286 +Problem: Using border highlight in popup window leaks memory. +Solution: Free memory before overwriting. (Dominique Pelle, closes #5203) +Files: src/popupwin.c + +Patch 8.1.2287 +Problem: Using EndOfBuffer highlight in popup does not look good. +Solution: Do not EndOfBuffer highlight. (closes #5204) +Files: src/drawscreen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_02.dump, + src/testdir/dumps/Test_popupwin_04.dump, + src/testdir/dumps/Test_popupwin_04a.dump, + src/testdir/dumps/Test_popupwin_05.dump, + src/testdir/dumps/Test_popupwin_06.dump, + src/testdir/dumps/Test_popupwin_07.dump, + src/testdir/dumps/Test_popupwin_08.dump + +Patch 8.1.2288 +Problem: Not using all space when popup with "topleft" flips to above. +Solution: Recompute the height when a popup flips from below to above. + (closes #5151) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_nospace.dump + +Patch 8.1.2289 +Problem: After :diffsplit closing the window does not disable diff. +Solution: Add "closeoff" to 'diffopt' and add it to the default. +Files: runtime/doc/options.txt, src/optiondefs.h, src/diff.c, + src/proto/diff.pro, src/window.c, src/testdir/test_diffmode.vim + +Patch 8.1.2290 +Problem: Autocommand test fails. +Solution: Remove 'closeoff' from 'diffopt'. +Files: src/testdir/test_autocmd.vim + +Patch 8.1.2291 +Problem: Memory leak when executing command in a terminal. +Solution: Free "argv". (Dominique Pelle, closes #5208) +Files: src/terminal.c + +Patch 8.1.2292 +Problem: v:mouse_winid not set on click in popup window. +Solution: Set v:mouse_winid. (closes #5171) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.1.2293 +Problem: Join adds trailing space when second line is empty. (Brennan + Vincent) +Solution: Do not add a trailing space. +Files: src/ops.c, src/testdir/test_join.vim + +Patch 8.1.2294 +Problem: Cursor position wrong when characters are concealed and asearch + causes a scroll. +Solution: Fix the cursor column in a concealed line after window scroll. + (closes #5215, closes #5012) +Files: src/drawscreen.c, src/testdir/test_matchadd_conceal.vim + +Patch 8.1.2295 +Problem: If buffer of popup is in another window cursorline sign shows. +Solution: Check the group of the sign. +Files: src/option.c, src/proto/option.pro, src/sign.c, + src/proto/sign.pro, src/screen.c, src/drawline.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_cursorline_8.dump + +Patch 8.1.2296 +Problem: Text properties are not combined with syntax by default. +Solution: Make it work as documented. (closes #5190) +Files: src/testprop.c, src/testdir/test_textprop.vim + +Patch 8.1.2297 +Problem: The ex_vimgrep() function is too long. +Solution: Split it in three parts. (Yegappan Lakshmanan, closes #5211) +Files: src/quickfix.c + +Patch 8.1.2298 (after 8.1.2296) +Problem: Missing part of 8.1.2296. +Solution: s/test/text/ +Files: src/textprop.c + +Patch 8.1.2299 +Problem: ConPTY in MS-Windows 1909 is still wrong. +Solution: Use same solution as for 1903. (Nobuhiro Takasaki, closes #5217) +Files: src/misc2.c, src/os_win32.c + +Patch 8.1.2300 +Problem: Redraw breaks going through list of popup windows. +Solution: Use different flags for popup_reset_handled(). (closes #5216) +Files: src/popupwin.c, src/proto/popupwin.pro, src/structs.h, src/vim.h, + src/mouse.c, src/testdir/test_popupwin.vim + +Patch 8.1.2301 +Problem: MS-Windows GUI: drawing error when background color changes. +Solution: Implement gui_mch_new_colors(). (Simon Sadler) +Files: src/gui_w32.c + +Patch 8.1.2302 +Problem: :lockmarks does not work for '[ and ']. +Solution: save and restore '[ and '] marks. (James McCoy, closes #5222) +Files: runtime/doc/motion.txt, src/bufwrite.c, src/diff.c, src/ex_cmds.c, + src/fileio.c, src/indent.c, src/ops.c, src/register.c, + src/testdir/test_autocmd.vim, src/testdir/test_diffmode.vim + +Patch 8.1.2303 +Problem: Cursor in wrong position after horizontal scroll. +Solution: Set w_valid_leftcol. (closes #5214, closes #5224) +Files: src/move.c, src/testdir/test_matchadd_conceal.vim + +Patch 8.1.2304 +Problem: Cannot get the mouse position when getting a mouse click. +Solution: Add getmousepos(). +Files: runtime/doc/eval.txt, runtime/doc/popup.txt, src/mouse.c + src/proto/mouse.pro, src/evalfunc.c, src/popupwin.c, + src/popupwin.pro, src/testdir/test_popupwin.vim, + src/testdir/test_functions.vim + +Patch 8.1.2305 +Problem: No warning for wrong entry in translations. +Solution: Check semicolons in keywords entry of desktop file. +Files: src/po/check.vim + +Patch 8.1.2306 +Problem: Double and triple clicks are not tested. +Solution: Test mouse clicks to select text. (closes #5226) +Files: src/testdir/test_termcodes.vim + +Patch 8.1.2307 +Problem: Positioning popup doesn't work for buffer-local textprop. +Solution: Make it work. (closes #5225) +Files: src/popupwin.c, src/testdir/test_popupwin_textprop.vim + +Patch 8.1.2308 +Problem: Deleting text before zero-width textprop removes it. +Solution: Keep zero-width textprop when deleting text. +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.1.2309 +Problem: Compiler warning for argument type. +Solution: Use linenr_T and cast to varnumber_T. (John Marriott) +Files: src/mouse.c + +Patch 8.1.2310 +Problem: No proper test for directory changes in quickfix. +Solution: Add a test that uses multiple directories. (Yegappan Lakshmanan, + closes #5230) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2311 +Problem: Warning for missing function prototype. +Solution: Add the proto. (Dominique Pelle, closes #5233) +Files: src/proto/popupwin.pro + +Patch 8.1.2312 +Problem: "line:" field in tags file not used. +Solution: Recognize the field and use the value. (Andy Massimino, Daniel + Hahler, closes #5232, closes #2546, closes #1057) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.1.2313 +Problem: Debugging where a delay comes from is not easy. +Solution: Use different values when calling ui_delay(). +Files: src/buffer.c, src/change.c, src/fileio.c, src/gui.c, + src/if_xcmdsrv.c, src/insexpand.c, src/main.c, src/normal.c, + src/screen.c, src/search.c, src/tag.c, src/term.c, src/ui.c + +Patch 8.1.2314 +Problem: vi' sometimes does not select anything. +Solution: Recognize an empty selection. (Christian Brabandt, closes #5183) +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.2315 +Problem: Not always using the right window when jumping to an error. +Solution: Add the "uselast" flag in 'switchbuf'. (closes #1652) +Files: runtime/doc/options.txt, src/option.h, src/optionstr.c, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2316 +Problem: FORTIFY_SOURCE can also be present in CPPFLAGS. +Solution: Remove it in configure. (Benedikt Morbach, closes #2786) +Files: src/configure.ac, src/auto/configure + +Patch 8.1.2317 +Problem: No test for spell affix file with flag on suffix. +Solution: Add a test case. +Files: src/testdir/test_spell.vim + +Patch 8.1.2318 (after 8.1.2301) +Problem: MS-Windows GUI: main background shows in toolbar. +Solution: Remove transparency from the toolbar. (Simon Sadler) +Files: src/gui_w32.c + +Patch 8.1.2319 +Problem: Compiler warning for int size. +Solution: Add typecast. (Mike Williams) +Files: src/mouse.c + +Patch 8.1.2320 +Problem: Insufficient test coverage for quickfix. +Solution: Add more tests. Fix uncovered problem. (Yegappan Lakshmanan, + closes #5238) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2321 +Problem: Cannot select all text with the mouse. (John Marriott) +Solution: Move limiting the mouse column to f_getmousepos(). (closes #5242) +Files: src/mouse.c + +Patch 8.1.2322 (after 8.1.2320) +Problem: Quickfix test fails in very big terminal. +Solution: Adjust the expected result for the width. (Masato Nishihata, + closes #5244) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2323 +Problem: Old MSVC version no longer tested. +Solution: Drop support for MSCV 2008 and older. (Ken Takata, closes #5248) +Files: src/INSTALLpc.txt, src/Make_mvc.mak, src/gui_w32.c, src/os_win32.c + +Patch 8.1.2324 +Problem: Width of scrollbar in popup menu not taken into account. +Solution: Add the width of the scrollbar. +Files: src/popupmenu.c, src/testdir/dumps/Test_popupwin_infopopup_6.dump, + src/testdir/test_popupwin.vim + +Patch 8.1.2325 +Problem: Crash when using balloon with empty line. +Solution: Handle empty lines. (Markus Braun) +Files: src/popupmenu.c, src/testdir/test_popup.vim + +Patch 8.1.2326 +Problem: Cannot parse a date/time string. +Solution: Add strptime(). (Stephen Wall, closes #) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/auto/configure, + src/config.h.in, src/configure.ac, src/evalfunc.c, src/os_unix.h, + src/testdir/test_functions.vim + +Patch 8.1.2327 +Problem: Cannot build with Hangul input. +Solution: Remove Hangul input support. +Files: Filelist, src/Makefile, runtime/doc/hangulin.txt, src/feature.h, + src/gui_gtk_x11.c, src/gui_x11.c, src/gui.c, src/edit.c, + src/mbyte.c, src/screen.c, src/ui.c, src/hangulin.c, + src/globals.h, src/proto/hangulin.pro, src/proto.h, + src/evalfunc.c, src/version.c, src/configure.ac, + src/auto/configure, src/config.h.in, src/config.mk.in + +Patch 8.1.2328 +Problem: A few hangul input pieces remain. +Solution: Update VMS makefile. +Files: src/Make_vms.mms + +Patch 8.1.2329 +Problem: Mouse multiple click test is a bit flaky. +Solution: Add it to the list of flaky tests. +Files: src/testdir/runtest.vim + +Patch 8.1.2330 (after 8.1.2314) +Problem: vi' does not always work when 'selection' is exclusive. +Solution: Adjust start position. +Files: src/search.c, src/testdir/test_textobjects.vim + +Patch 8.1.2331 +Problem: The option.c file is still very big. +Solution: Move a few functions to where they fit better. (Yegappan + Lakshmanan, closes #4895) +Files: src/option.c, src/proto/option.pro, src/change.c, + src/proto/change.pro, src/ex_getln.c, src/proto/ex_getln.pro, + src/globals.h, src/gui.c, src/proto/gui.pro, src/ui.c, + src/proto/ui.pro, src/term.c, src/proto/term.pro, src/indent.c, + src/proto/indent.pro + +Patch 8.1.2332 (after 8.1.2331) +Problem: Missing file in refactoring. +Solution: Update missing file. +Files: src/search.c + +Patch 8.1.2333 +Problem: With modifyOtherKeys CTRL-^ doesn't work. +Solution: Handle the exception. +Files: src/getchar.c, src/testdir/test_termcodes.vim + +Patch 8.1.2334 +Problem: Possible NULL pointer dereference in popup_locate(). (Coverity) +Solution: Check for NULL pointer. +Files: src/popupwin.c + +Patch 8.1.2335 +Problem: Error message for function arguments may use NULL pointer. + (Coverity) +Solution: Use the original function name. +Files: src/evalfunc.c + +Patch 8.1.2336 +Problem: When an expr mapping moves the cursor it is not restored. +Solution: Position the cursor after an expr mapping. (closes #5256) +Files: src/getchar.c, src/testdir/test_mapping.vim, + src/testdir/dumps/Test_map_expr_1.dump + +Patch 8.1.2337 +Problem: Double-click time sometimes miscomputed. +Solution: Correct time computation. (Dominique Pelle, closes #5259) +Files: src/mouse.c, src/testdir/runtest.vim + +Patch 8.1.2338 +Problem: Using Visual mark sith :s gives E20 if not set. +Solution: Ignore errors when handling 'incsearch'. (closes #3837) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_substitute_14.dump + +Patch 8.1.2339 +Problem: Insufficient testing for quickfix. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5261) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2340 +Problem: Quickfix test fails under valgrind and asan. +Solution: Make sure long line does not overflow IObuff. (Dominique Pelle, + closes #5263) Put back fix for large terminals. (Yegappan + Lakshmanan, closes #5264) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.1.2341 +Problem: Not so easy to interrupt a script programatically. +Solution: Add the interrupt() function. (Yasuhiro Matsumoto, closes #2834) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/ex_eval.c, + src/testdir/Make_all.mak, src/testdir/test_interrupt.vim + +Patch 8.1.2342 +Problem: Random number generator in Vim script is slow. +Solution: Add rand() and srand(). (Yasuhiro Matsumoto, closes #1277) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/Make_all.mak, + src/testdir/test_random.vim + +Patch 8.1.2343 +Problem: Using time() for srand() is not very random. +Solution: use /dev/urandom if available +Files: src/evalfunc.c, src/testdir/test_random.vim + +Patch 8.1.2344 +Problem: Cygwin: warning for using strptime(). +Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata, + closes #5265) Use 700 for _XOPEN_SOURCE for mkdtemp(). +Files: src/os_unix.h, src/vim.h + +Patch 8.1.2345 +Problem: .cjs files are not recognized as Javascript. +Solution: Add the *.cjs pattern. (closes #5268) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.1.2346 +Problem: CTRL-R CTRL-R doesn't work with modifyOtherKeys. +Solution: Allow key codes when fetching argument for CTRL-R. (closes #5266) + Also fix CTRL-G in Insert mode. +Files: src/edit.c, src/ex_getln.c, src/testdir/test_termcodes.vim + +Patch 8.1.2347 (after 8.1.2344) +Problem: MacOS: build fails. +Solution: Don't define _XOPEN_SOURCE for Mac. +Files: src/vim.h + +Patch 8.1.2348 +Problem: :const cannot be followed by "| endif". +Solution: Check following command for :const. (closes #5269) + Also fix completion after :const. +Files: src/testdir/test_let.vim, src/testdir/test_const.vim, + src/ex_docmd.c, src/cmdexpand.c, src/eval.c, + src/testdir/test_cmdline.vim + +Patch 8.1.2349 +Problem: :lockvar and :unlockvar cannot be followed by "| endif". +Solution: Check for following commands. (closes #5269) +Files: src/testdir/test_const.vim, src/ex_docmd.c + +Patch 8.1.2350 +Problem: Other text for CTRL-V in Insert mode with modifyOtherKeys. +Solution: Convert the Escape sequence back to key as if modifyOtherKeys is + not set, and use CTRL-SHIFT-V to get the Escape sequence itself. + (closes #5254) +Files: runtime/doc/insert.txt, runtime/doc/cmdline.txt, src/edit.c, + src/proto/edit.pro, src/term.c, src/proto/term.pro, src/getchar.c, + src/proto/getchar.pro, src/testdir/test_termcodes.vim, + src/ex_getln.c + +Patch 8.1.2351 +Problem: 'wincolor' not used for > for not fitting double width char. + Also: popup drawn on right half of double width character looks + wrong. +Solution: Adjust color for > character. Clear left half of double width + character if right half is being overwritten. +Files: src/drawline.c, src/screen.c, + src/testdir/dumps/Test_popupwin_doublewidth_1.dump + +Patch 8.1.2352 +Problem: CI doesn't cover FreeBSD. +Solution: Configure Cirrus-CI. (Christian Brabandt, closes #5273) +Files: .cirrus.yml, README.md + +Patch 8.1.2353 +Problem: Build failure on FreeBSD. +Solution: Change #ifdef to only check for Linux-like systems. +Files: src/vim.h + +Patch 8.1.2354 +Problem: Cirrus CI runs on another repository. +Solution: Run Cirrus CI on vim/vim. +Files: .cirrus.yml, README.md + +Patch 8.1.2355 +Problem: Test with "man" fails on FreeBSD. +Solution: Use "-P" instead of "--pager". +Files: src/testdir/test_normal.vim + +Patch 8.1.2356 +Problem: rand() does not use the best algorithm. +Solution: use xoshiro128** instead of xorshift. (Kaito Udagawa, + closes #5279) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_random.vim + +Patch 8.1.2357 +Problem: No test with wrong argument for rand(). +Solution: Add a test case. +Files: src/testdir/test_random.vim + +Patch 8.1.2358 +Problem: Tests fail on Cirrus CI for FreeBSD. +Solution: Fix a test and skip some. (Christian Brabandt, closes #5281) +Files: Filelist, .cirrus.yml, src/testdir/check.vim, + src/testdir/test_normal.vim, src/testdir/test_quickfix.vim, + src/testdir/test_source_utf8.vim, src/testdir/test_terminal.vim, + src/testdir/test_utf8_comparisons.vim + +Patch 8.1.2359 +Problem: Cannot build without FEAT_FLOAT. (John Marriott) +Solution: Fix #ifdefs around f_srand(). +Files: src/evalfunc.c + +Patch 8.1.2360 +Problem: Quickfix test coverage can still be improved. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5276) +Files: src/testdir/test_quickfix.vim + +Patch 8.1.2361 +Problem: MS-Windows: test failures related to VIMDLL. +Solution: Adjust code and tests. (Ken Takata, closes #5283) +Files: src/evalfunc.c, src/ex_cmds.c, src/gui_w32.c, src/mbyte.c, + src/menu.c, src/proto.h, src/testdir/test_highlight.vim + +Patch 8.1.2362 +Problem: Cannot place signs in a popup window. (Maxim Kim) +Solution: Use the group prefix "PopUp" to specify which signs should show up + in a popup window. (closes #5277) +Files: runtime/doc/sign.txt, src/popupwin.c, src/sign.c, + src/testdir/dumps/Test_popupwin_sign_1.dump + +Patch 8.1.2363 +Problem: ml_get error when accessing Visual area in 'statusline'. +Solution: Disable Visual mode when using another window. (closes #5278) +Files: src/testdir/test_statusline.vim, src/buffer.c + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -261,7 +261,7 @@ func s:StartDebug_term(dict) sleep 10m endwhile - " Interpret commands while the target is running. This should usualy only be + " Interpret commands while the target is running. This should usually only be " exec-interrupt, since many commands don't work properly while the target is " running. call s:SendCommand('-gdb-set mi-async on') @@ -317,7 +317,7 @@ func s:StartDebug_prompt(dict) set modified let s:gdb_channel = job_getchannel(s:gdbjob) - " Interpret commands while the target is running. This should usualy only + " Interpret commands while the target is running. This should usually only " be exec-interrupt, since many commands don't work properly while the " target is running. call s:SendCommand('-gdb-set mi-async on') diff --git a/runtime/plugin/netrwPlugin.vim b/runtime/plugin/netrwPlugin.vim --- a/runtime/plugin/netrwPlugin.vim +++ b/runtime/plugin/netrwPlugin.vim @@ -20,7 +20,7 @@ if &cp || exists("g:loaded_netrwPlugin") finish endif -let g:loaded_netrwPlugin = "v166" +let g:loaded_netrwPlugin = "v167" let s:keepcpo = &cpo set cpo&vim "DechoRemOn diff --git a/runtime/spell/pt/main.aap b/runtime/spell/pt/main.aap --- a/runtime/spell/pt/main.aap +++ b/runtime/spell/pt/main.aap @@ -59,7 +59,7 @@ pt_PT.aff pt_PT.dic: {buildcheck=} :delete {f} description.xml :delete {f} dictionaries.xcu :delete {f} LICENSES.txt - # Remove grammer items and the duplicates this causes + # Remove grammar items and the duplicates this causes :sys $VIM pt_PT.dic -u NONE -e -c "%s/\t.*//" -c "2,$$ sort u" -c update -c q :sys $VIM pt_PT.aff -u NONE -e -c "%s/\S\+=\S\+$$//" -c update -c q @if not os.path.exists('pt_PT.orig.aff'): diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar -" Last Change: 2019 Apr 23 +" Last Change: 2019 Nov 29 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -137,7 +137,7 @@ if exists("c_no_curly_error") syn match cParenError display ")" syn match cErrInParen display contained "^^<%\|^%>" else - syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell + syn region cParen transparent start='(' end=')' contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell " cCppParen: same as cParen but ends at end-of-line; used in cDefine syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell syn match cParenError display ")" diff --git a/runtime/syntax/tmux.vim b/runtime/syntax/tmux.vim --- a/runtime/syntax/tmux.vim +++ b/runtime/syntax/tmux.vim @@ -1,5 +1,5 @@ " Language: tmux(1) configuration file -" Version: 2.9a (git-0d64531f) +" Version: 3.0 (git-48cbbb87) " URL: https://github.com/ericpruitt/tmux.vim/ " Maintainer: Eric Pruitt " License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause) @@ -28,6 +28,7 @@ syn match tmuxNumber /\<\d\+\ syn match tmuxFlags /\s-\a\+/ display syn match tmuxVariable /\w\+=/ display syn match tmuxVariableExpansion /\${\=\w\+}\=/ display +syn match tmuxControl /%\(if\|elif\|else\|endif\)/ syn region tmuxComment start=/#/ skip=/\\\@/ @@ -774,11 +780,13 @@ if get(g:, 'yats_host_keyword', 1) syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearInterval hi def link typescriptNodeGlobal Structure - syntax keyword typescriptGlobal containedin=typescriptIdentifierName describe it test - syntax keyword typescriptGlobal containedin=typescriptIdentifierName before after - syntax keyword typescriptGlobal containedin=typescriptIdentifierName beforeEach afterEach - syntax keyword typescriptGlobal containedin=typescriptIdentifierName beforeAll afterAll - syntax keyword typescriptGlobal containedin=typescriptIdentifierName expect assert + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName describe + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName it test before + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName after beforeEach + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterEach + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName beforeAll + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterAll + syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName expect assert "runtime syntax/yats/web.vim syntax keyword typescriptBOM containedin=typescriptIdentifierName AbortController @@ -1894,7 +1902,7 @@ syntax match typescriptArrowFuncDef " matches `(a) =>` or `([a]) =>` or " `( " a) =>` -syntax match typescriptArrowFuncDef contained /(\(\_s*[a-zA-Z\$_\[]\_[^)]*\)*)\s*=>/ +syntax match typescriptArrowFuncDef contained /(\(\_s*[a-zA-Z\$_\[.]\_[^)]*\)*)\s*=>/ \ contains=typescriptArrowFuncArg,typescriptArrowFunc \ nextgroup=@typescriptExpression,typescriptBlock \ skipwhite skipempty @@ -1935,7 +1943,7 @@ syntax region typescriptParamImpl matchg "runtime syntax/basic/decorator.vim syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>/ - \ nextgroup=typescriptArgumentList + \ nextgroup=typescriptArgumentList,typescriptTypeArguments \ contains=@_semantic,typescriptDotNotation " Define the default highlighting. @@ -1969,6 +1977,7 @@ hi def link typescriptASCII hi def link typescriptTemplateSB Label hi def link typescriptRegexpString String hi def link typescriptGlobal Constant +hi def link typescriptTestGlobal Function hi def link typescriptPrototype Type hi def link typescriptConditional Conditional hi def link typescriptConditionalElse Conditional @@ -2048,6 +2057,7 @@ hi def link typescriptUserDefinedType hi def link typescriptTypeReference Identifier hi def link typescriptConstructor Keyword hi def link typescriptDecorator Special +hi def link typescriptAssertType Keyword hi link typeScript NONE diff --git a/runtime/syntax/typescriptreact.vim b/runtime/syntax/typescriptreact.vim --- a/runtime/syntax/typescriptreact.vim +++ b/runtime/syntax/typescriptreact.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: TypeScript with React (JSX) " Maintainer: Bram Moolenaar -" Last Change: 2019 Nov 17 +" Last Change: 2019 Nov 30 " Based On: Herrington Darkholme's yats.vim " Changes: See https:github.com/HerringtonDarkholme/yats.vim " Credits: See yats.vim on github diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 8.0 script " Maintainer: Charles E. Campbell -" Last Change: Nov 10, 2019 -" Version: 8.0-27 +" Last Change: November 29, 2019 +" Version: 8.0-28 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -19,12 +19,12 @@ syn keyword vimTodo contained COMBAK FIX syn cluster vimCommentGroup contains=vimTodo,@Spell " regular vim commands {{{2 -syn keyword vimCommand contained a ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletl dep diffpu[t] dl dr[op] ec em[enu] ene[w] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tch[dir] tf[irst] tlmenu tm[enu] to[pleft] tu[nmenu] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] wundo xme xr[estore] -syn keyword vimCommand contained ab arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] cle[arjumps] cnor comp[iler] cpf[ile] cun delc[ommand] deletp di[splay] diffs[plit] dli[st] ds[earch] echoe[rr] en[dif] eval filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs tcld[o] th[row] tln tma[p] tp[revious] tunma[p] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wv[iminfo] xmenu xunme -syn keyword vimCommand contained abc[lear] argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do dsp[lit] echom[sg] endf[unction] ex filetype fix[del] for gui helpg[rep] ia in j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tclf[ile] tj[ump] tlnoremenu tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] x[it] xnoreme xunmenu -syn keyword vimCommand contained abo[veleft] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delep dell diffg[et] dig[raphs] doau e[dit] echon endfo[r] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] inor ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] te[aroff] tl[ast] tlu tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq xa[ll] xnoremenu xwininfo -syn keyword vimCommand contained addd arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cn[ext] colo[rscheme] cons[t] cs d[elete] deletel delm[arks] diffo[ff] dir doaut ea el[se] endt[ry] exu[sage] fin[d] foldc[lose] g h[elp] hi if intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcd ter[minal] tlm tlunmenu tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xmapc[lear] xprop y[ank] -syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] com cope[n] cscope debug deletep delp diffp[atch] dj[ump] dp earlier elsei[f] endw[hile] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] +syn keyword vimCommand contained a ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletl dep diffpu[t] dl dr[op] ec em[enu] ene[w] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tch[dir] tf[irst] tlmenu tm[enu] to[pleft] tu[nmenu] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] wundo xme xr[estore] +syn keyword vimCommand contained ab arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] cle[arjumps] cnor comp[iler] cpf[ile] cun delc[ommand] deletp di[splay] diffs[plit] dli[st] ds[earch] echoe[rr] en[dif] eval filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs tcld[o] th[row] tln tma[p] tp[revious] tunma[p] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wv[iminfo] xmenu xunme +syn keyword vimCommand contained abc[lear] argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do dsp[lit] echom[sg] endf[unction] ex filetype fix[del] for gui helpg[rep] ia in j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tclf[ile] tj[ump] tlnoremenu tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] x[it] xnoreme xunmenu +syn keyword vimCommand contained abo[veleft] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delep dell diffg[et] dig[raphs] doau e[dit] echon endfo[r] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] inor ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] te[aroff] tl[ast] tlu tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq xa[ll] xnoremenu xwininfo +syn keyword vimCommand contained addd arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cn[ext] colo[rscheme] cons[t] cs d[elete] deletel delm[arks] diffo[ff] dir doaut ea el[se] endt[ry] exu[sage] fin[d] foldc[lose] g h[elp] hi if intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcd ter[minal] tlm tlunmenu tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xmapc[lear] xprop y[ank] +syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] com cope[n] cscope debug deletep delp diffp[atch] dj[ump] dp earlier elsei[f] endw[hile] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] syn match vimCommand contained "\" syn keyword vimStdPlugin contained Arguments Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns diff --git a/runtime/tools/shtags.pl b/runtime/tools/shtags.pl --- a/runtime/tools/shtags.pl +++ b/runtime/tools/shtags.pl @@ -72,7 +72,7 @@ if( ! $explicit && open( TAGS, "< $tags_ # # for each line of every file listed on the command line, look for a -# 'sub' definition, or, if variables are wanted aswell, look for a +# 'sub' definition, or, if variables are wanted as well, look for a # variable definition at the start of a line # while( <> )