changeset 18750:82a28df1e2d5

Update runtime files. Commit: https://github.com/vim/vim/commit/91359014b359cf816bf943fe2c7d492996263def Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 30 17:57:03 2019 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sat, 30 Nov 2019 18:00:05 +0100
parents 8217e179eb58
children aa385f88f900
files runtime/autoload/netrw.vim runtime/doc/if_pyth.txt runtime/doc/insert.txt runtime/doc/pi_netrw.txt runtime/doc/popup.txt runtime/doc/sign.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/version8.txt runtime/pack/dist/opt/termdebug/plugin/termdebug.vim runtime/plugin/netrwPlugin.vim runtime/spell/pt/main.aap runtime/syntax/c.vim runtime/syntax/tmux.vim runtime/syntax/typescript.vim runtime/syntax/typescriptcommon.vim runtime/syntax/typescriptreact.vim runtime/syntax/vim.vim runtime/tools/shtags.pl
diffstat 20 files changed, 6576 insertions(+), 129 deletions(-) [+]
line wrap: on
line diff
--- 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 <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
 " 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 <cr> 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("<slnum>"))
+"   call Decho("..appears to be a local directory; using gf instead",'~'.expand("<slnum>"))
    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("<slnum>"))
+"   call Decho("..and fname ".((a:fname =~ '^https\=:')? 'matches' : 'does not match').'^https\=:','~'.expand("<slnum>"))
+"   call Decho("..and fname ".((a:fname =~ '/$')?        'matches' : 'does not match').' /$','~'.expand("<slnum>"))
+"   call Decho("..appears to be a remote directory listing request; using gf instead",'~'.expand("<slnum>"))
+   norm! gf
+"   call Dret("netrw#BrowseX")
+   return
+  endif
+"  call Decho("not a local file nor a webpage request",'~'.expand("<slnum>"))
 
   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("<slnum>"))
-  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("<slnum>"))
+  let sep     = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
+"  call Decho("sep=".sep,"  (sep not in hide string)'~'.expand("<slnum>"))
 
   while listhide != ""
    if listhide =~ ','
@@ -6116,10 +6134,19 @@ fun! s:NetrwListHide()
     let hide     = listhide
     let listhide = ""
    endif
-"   call Decho("hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>"))
+"   call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
+   if g:netrw_sort_by =~ '^[ts]'
+    if hide =~ '^\^'
+"     call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
+     let hide= substitute(hide,'^\^','^\(\\d\\+/\)','')
+    elseif hide =~ '^\\(\^'
+     let hide= substitute(hide,'^\\(\^','\\(^\\(\\d\\+/\\)','')
+    endif
+"    call Decho("..hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>"))
+   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("<slnum>"))
     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("<slnum>"))
    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\<c-v>$hx".w:netrw_bannercnt."G$p"
-    else
-     exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p'
+     exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap"
+    else
+     exe "sil! NetrwKeepj norm! 0\<c-v>".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 <buffer> <silent> b	:call search(''^.\\|\s\s\zs\S'',''bW'')'."\<cr>"
 "   call Decho("NetrwWideListing) setl noma nomod ro",'~'.expand("<slnum>"))
    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("<slnum>"))
 "   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("<slnum>"))
      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("<slnum>"))
        exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options
       endif
+"     call Decho("remove leading digits/ (sorting) information from listing",'~'.expand("<slnum>"))
      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("<slnum>"))
    exe "setl ts=".(g:netrw_maxfilenamelen+1)
   endif
+"  call Decho("PerformListing buffer:",'~'.expand("<slnum>"))
 "  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("<slnum>"))
     let t  = getftime(filename)
     let ft = strpart("000000000000000000",1,18-strlen(t)).t
-"    call Decho("exe NetrwKeepj put ='".ft.'/'.filename."'",'~'.expand("<slnum>"))
+"    call Decho("exe NetrwKeepj put ='".ft.'/'.pfile."'",'~'.expand("<slnum>"))
     let ftpfile= ft.'/'.pfile
     sil! NetrwKeepj put=ftpfile
 
--- 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):
--- 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
--- 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')
--- 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|
--- 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.
--- 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
--- 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*
--- 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
--- 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 <C-H> when modifyOtherKeys is enabled.
+Solution:   Add the <C-H> 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:
--- 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')
--- 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
--- 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'):
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" 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 ")"
--- 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 <eric.pruitt@gmail.com>
 " 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=/\\\@<!\\$/ end=/$/ contains=tmuxTodo
 
@@ -43,6 +44,7 @@ hi def link tmuxFormatString      Identi
 hi def link tmuxAction            Boolean
 hi def link tmuxBoolean           Boolean
 hi def link tmuxCommands          Keyword
+hi def link tmuxControl           Keyword
 hi def link tmuxComment           Comment
 hi def link tmuxKey               Special
 hi def link tmuxNumber            Number
@@ -62,29 +64,29 @@ for s:i in range(0, 255)
 endfor
 
 syn keyword tmuxOptions
-\ buffer-limit command-alias default-terminal escape-time exit-empty
-\ activity-action assume-paste-time base-index bell-action default-command
-\ default-shell default-size destroy-unattached detach-on-destroy
-\ display-panes-active-colour display-panes-colour display-panes-time
-\ display-time exit-unattached focus-events history-file history-limit
-\ key-table lock-after-time lock-command message-command-style message-limit
-\ message-style mouse aggressive-resize allow-rename alternate-screen
-\ automatic-rename automatic-rename-format clock-mode-colour
-\ clock-mode-style main-pane-height main-pane-width mode-keys mode-style
-\ monitor-activity monitor-bell monitor-silence other-pane-height
-\ other-pane-width pane-active-border-style pane-base-index
-\ pane-border-format pane-border-status pane-border-style prefix prefix2
-\ remain-on-exit renumber-windows repeat-time set-clipboard set-titles
-\ set-titles-string silence-action status status-bg status-fg status-format
-\ status-interval status-justify status-keys status-left status-left-length
-\ status-left-style status-position status-right status-right-length
-\ status-right-style status-style synchronize-panes terminal-overrides
-\ update-environment user-keys visual-activity visual-bell visual-silence
-\ window-active-style window-size window-status-activity-style
-\ window-status-bell-style window-status-current-format
-\ window-status-current-style window-status-format window-status-last-style
-\ window-status-separator window-status-style window-style word-separators
-\ wrap-search xterm-keys
+\ backspace buffer-limit command-alias default-terminal escape-time
+\ exit-empty activity-action assume-paste-time base-index bell-action
+\ default-command default-shell default-size destroy-unattached
+\ detach-on-destroy display-panes-active-colour display-panes-colour
+\ display-panes-time display-time exit-unattached focus-events history-file
+\ history-limit key-table lock-after-time lock-command message-command-style
+\ message-limit message-style aggressive-resize allow-rename
+\ alternate-screen automatic-rename automatic-rename-format
+\ clock-mode-colour clock-mode-style main-pane-height main-pane-width
+\ mode-keys mode-style monitor-activity monitor-bell monitor-silence mouse
+\ other-pane-height other-pane-width pane-active-border-style
+\ pane-base-index pane-border-format pane-border-status pane-border-style
+\ prefix prefix2 remain-on-exit renumber-windows repeat-time set-clipboard
+\ set-titles set-titles-string silence-action status status-bg status-fg
+\ status-format status-interval status-justify status-keys status-left
+\ status-left-length status-left-style status-position status-right
+\ status-right-length status-right-style status-style synchronize-panes
+\ terminal-overrides update-environment user-keys visual-activity
+\ visual-bell visual-silence window-active-style window-size
+\ window-status-activity-style window-status-bell-style
+\ window-status-current-format window-status-current-style
+\ window-status-format window-status-last-style window-status-separator
+\ window-status-style window-style word-separators wrap-search xterm-keys
 
 syn keyword tmuxCommands
 \ attach attach-session bind bind-key break-pane breakp capture-pane
--- a/runtime/syntax/typescript.vim
+++ b/runtime/syntax/typescript.vim
@@ -1,10 +1,13 @@
 " Vim syntax file
 " Language:     TypeScript
-" Maintainer:   Bram Moolenaar
-" Last Change:	2019 Nov 17
+" Maintainer:   Bram Moolenaar, Herrington Darkholme
+" 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
+" Changes:      Go to https:github.com/HerringtonDarkholme/yats.vim for recent changes.
+" Origin:       https://github.com/othree/yajs
+" Credits:      Kao Wei-Ko(othree), Jose Elera Campana, Zhao Yi, Claudio Fleiner, Scott Shattuck
+"               (This file is based on their hard work), gumnos (From the #vim
+"               IRC Channel in Freenode)
 
 " This is the same syntax that is in yats.vim, but:
 " - flattened into one file
--- a/runtime/syntax/typescriptcommon.vim
+++ b/runtime/syntax/typescriptcommon.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:     TypeScript and TypeScriptReact
-" Maintainer:   Bram Moolenaar
-" Last Change:	2019 Nov 17
+" Maintainer:   Bram Moolenaar, Herrington Darkholme
+" 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
@@ -11,14 +11,13 @@ if &cpo =~ 'C'
   set cpo&vim
 endif
 
-" runtime syntax/common.vim
 
 " NOTE: this results in accurate highlighting, but can be slow.
 syntax sync fromstart
 
 "Dollar sign is permitted anywhere in an identifier
 setlocal iskeyword-=$
-if main_syntax == 'typescript' || main_syntax == 'typescript.tsx'
+if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
   setlocal iskeyword+=$
   " syntax cluster htmlJavaScript                 contains=TOP
 endif
@@ -53,7 +52,7 @@ syntax match   typescriptProp contained 
 
 syntax region  typescriptIndexExpr      contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
 
-syntax match   typescriptDotNotation           /\./ nextgroup=typescriptProp skipnl
+syntax match   typescriptDotNotation           /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
 syntax match   typescriptDotStyleNotation      /\.style\./ nextgroup=typescriptDOMStyle transparent
 " syntax match   typescriptFuncCall              contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
 syntax region  typescriptParenExp              matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
@@ -143,7 +142,7 @@ syntax match typescriptUnaryOp /[+\-~!]/
  \ nextgroup=@typescriptValue
  \ skipwhite
 
-syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
+syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
 
 syntax match   typescriptAssign  /=/ nextgroup=@typescriptValue
   \ skipwhite skipempty
@@ -177,7 +176,7 @@ syntax match typescriptBinaryOp containe
 
 syntax cluster typescriptSymbols               contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword
 
-"" runtime syntax/basic/reserved.vim
+" runtime syntax/basic/reserved.vim
 
 "runtime syntax/basic/keyword.vim
 "Import
@@ -307,6 +306,8 @@ syntax match   typescriptDocNotation    
 syntax keyword typescriptDocTags               contained constant constructor constructs function ignore inner private public readonly static
 syntax keyword typescriptDocTags               contained const dict expose inheritDoc interface nosideeffects override protected struct internal
 syntax keyword typescriptDocTags               contained example global
+syntax keyword typescriptDocTags               contained alpha beta defaultValue eventProperty experimental label
+syntax keyword typescriptDocTags               contained packageDocumentation privateRemarks remarks sealed typeParam
 
 " syntax keyword typescriptDocTags               contained ngdoc nextgroup=typescriptDocNGDirective
 syntax keyword typescriptDocTags               contained ngdoc scope priority animations
@@ -408,7 +409,8 @@ syntax cluster typescriptPrimaryType con
   \ typescriptTupleType,
   \ typescriptTypeQuery,
   \ typescriptStringLiteralType,
-  \ typescriptReadonlyArrayKeyword
+  \ typescriptReadonlyArrayKeyword,
+  \ typescriptAssertType
 
 syntax region  typescriptStringLiteralType contained
   \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/
@@ -447,8 +449,8 @@ syntax cluster typescriptTypeMember cont
 
 syntax region typescriptTupleType matchgroup=typescriptBraces
   \ start=/\[/ end=/\]/
-  \ contains=@typescriptType
-  \ contained skipwhite oneline
+  \ contains=@typescriptType,@typescriptComments
+  \ contained skipwhite
 
 syntax cluster typescriptTypeOperator
   \ contains=typescriptUnion,typescriptTypeBracket
@@ -486,6 +488,10 @@ syntax keyword typescriptTypeQuery typeo
   \ nextgroup=typescriptTypeReference
   \ contained skipwhite skipnl
 
+syntax keyword typescriptAssertType asserts
+  \ nextgroup=typescriptTypeReference
+  \ contained skipwhite skipnl
+
 syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
 syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
   \ start=/</ end=/>/
@@ -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
 
--- 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
--- 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 <NdrOchipS@PcampbellAfamily.Mbiz>
-" 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	"\<z[-+^.=]\=\>"
 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
 
--- 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( <> )