changeset 19099:1a951a4beee3

Update runtime files. Commit: https://github.com/vim/vim/commit/2963456ff2b740244b3a064785fe681b1998d75e Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 9 21:46:04 2020 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Thu, 09 Jan 2020 22:00:05 +0100
parents 254834ce268e
children 91bb12995034
files runtime/autoload/getscript.vim runtime/autoload/netrw.vim runtime/autoload/netrwSettings.vim runtime/autoload/tar.vim runtime/autoload/zip.vim runtime/doc/eval.txt runtime/doc/insert.txt runtime/doc/pi_getscript.txt runtime/doc/pi_logipat.txt runtime/doc/pi_netrw.txt runtime/doc/pi_tar.txt runtime/doc/pi_vimball.txt runtime/doc/pi_zip.txt runtime/doc/quickfix.txt runtime/doc/tags runtime/doc/terminal.txt runtime/doc/todo.txt runtime/doc/uganda.txt runtime/plugin/getscriptPlugin.vim runtime/plugin/netrwPlugin.vim runtime/plugin/tarPlugin.vim runtime/plugin/zipPlugin.vim runtime/syntax/2html.vim
diffstat 23 files changed, 405 insertions(+), 237 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/getscript.vim
+++ b/runtime/autoload/getscript.vim
@@ -22,7 +22,7 @@ if &cp
 endif
 if v:version < 702
  echohl WarningMsg
- echo "***warning*** this version of getscript needs vim 7.2"
+ echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
  echohl Normal
  finish
 endif
@@ -236,7 +236,7 @@ fun! getscript#GetLatestVimScripts()
 "    call Decho("..depscript<".depscript.">")
 
     " found a "GetLatestVimScripts: # #" line in the script;
-    " check if it's already in the datafile by searching backwards from llp1,
+    " check if its already in the datafile by searching backwards from llp1,
     " the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
     " for the script-id with no wrapping allowed.
     let curline     = line(".")
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,8 +1,8 @@
 " netrw.vim: Handles file transfer and remote directory listing across
 "            AUTOLOAD SECTION
-" Date:		Nov 29, 2019
-" Version:	167
-" Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
+" Date:		Jan 07, 2020
+" Version:	168
+" Maintainer:	Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
 " Copyright:    Copyright (C) 2016 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
@@ -43,7 +43,7 @@ if exists("s:needspatches")
  endfor
 endif
 
-let g:loaded_netrw = "v167"
+let g:loaded_netrw = "v168"
 if !exists("s:NOTE")
  let s:NOTE    = 0
  let s:WARNING = 1
@@ -68,7 +68,7 @@ setl cpo&vim
 "   Usage: netrw#ErrorMsg(s:NOTE | s:WARNING | s:ERROR,"some message",error-number)
 "          netrw#ErrorMsg(s:NOTE | s:WARNING | s:ERROR,["message1","message2",...],error-number)
 "          (this function can optionally take a list of messages)
-"  Mar 21, 2017 : max errnum currently is 105
+"  Dec 2, 2019 : max errnum currently is 106
 fun! netrw#ErrorMsg(level,msg,errnum)
 "  call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
 
@@ -447,23 +447,9 @@ if !exists("g:netrw_localmovecmd")
   let g:netrw_localmovecmd= ""
  endif
 endif
-if v:version < 704 || (v:version == 704 && !has("patch1107"))
- " 1109 provides for delete(tmpdir,"d") which is what will be used
- if exists("g:netrw_local_rmdir")
-  let g:netrw_localrmdir= g:netrw_local_rmdir
-  call netrw#ErrorMsg(s:NOTE,"g:netrw_local_rmdir is deprecated in favor of g:netrw_localrmdir",86)
- endif
- if has("win32") || has("win95") || has("win64") || has("win16")
-   if g:netrw_cygwin
-    call s:NetrwInit("g:netrw_localrmdir","rmdir")
-   else
-    let g:netrw_localrmdir   = expand("$COMSPEC")
-    let g:netrw_localrmdiropt= " /c rmdir"
-   endif
- else
-  call s:NetrwInit("g:netrw_localrmdir","rmdir")
- endif
-endif
+" following serves as an example for how to insert a version&patch specific test
+"if v:version < 704 || (v:version == 704 && !has("patch1107"))
+"endif
 call s:NetrwInit("g:netrw_liststyle"  , s:THINLIST)
 " sanity checks
 if g:netrw_liststyle < 0 || g:netrw_liststyle >= s:MAXLIST
@@ -5217,8 +5203,8 @@ fun! netrw#BrowseX(fname,remote)
   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 Decho("..appears to be a local directory; using e ".a:fname." instead",'~'.expand("<slnum>"))
+   exe "e ".a:fname
 "   call Dret("netrw#BrowseX")
    return
   elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
@@ -7158,17 +7144,8 @@ fun! s:NetrwMarkFileCopy(islocal,...)
 "      call Dret("s:NetrwMarkFileCopy : lcd failure")
       return
      endif
-     if v:version < 704 || (v:version == 704 && !has("patch1107"))
-      call s:NetrwExe("sil !".g:netrw_localrmdir.g:netrw_localrmdiropt." ".s:ShellEscape(tmpdir,1))
-      if v:shell_error != 0
-       call netrw#ErrorMsg(s:WARNING,"consider setting g:netrw_localrmdir<".g:netrw_localrmdir."> to something that works",80)
-" "      call Dret("s:NetrwMarkFileCopy : failed: sil !".g:netrw_localrmdir." ".s:ShellEscape(tmpdir,1) )
-       return
-      endif
-     else
-      if delete(tmpdir,"d")
-       call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".tmpdir.">!",103)
-      endif
+     if delete(tmpdir,"d")
+      call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".tmpdir.">!",103)
      endif
     else
      if s:NetrwLcd(curdir)
@@ -9587,6 +9564,7 @@ fun! s:NetrwWideListing()
 "   call Decho("setl ma noro",'~'.expand("<slnum>"))
    let b:netrw_cpf= 0
    if line("$") >= w:netrw_bannercnt
+    " determine the maximum filename size; use that to set cpf
     exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
     NetrwKeepj call histdel("/",-1)
    else
@@ -9594,6 +9572,7 @@ fun! s:NetrwWideListing()
 "    call Dret("NetrwWideListing")
     return
    endif
+   " allow for two spaces to separate columns
    let b:netrw_cpf= b:netrw_cpf + 2
 "   call Decho("b:netrw_cpf=max_filename_length+2=".b:netrw_cpf,'~'.expand("<slnum>"))
 
@@ -9621,10 +9600,11 @@ fun! s:NetrwWideListing()
     if newcolend > line("$") | let newcolend= line("$") | endif
     let newcolqty= newcolend - newcolstart
     exe newcolstart
+    " COMBAK: both of the visual-mode using lines below are problematic vis-a-vis @*
     if newcolqty == 0
      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'
+     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
@@ -11048,9 +11028,10 @@ fun! s:NetrwLocalRename(path) range
 "  call Dfunc("NetrwLocalRename(path<".a:path.">)")
 
   " preparation for removing multiple files/directories
-  let ykeep    = @@
-  let ctr      = a:firstline
-  let svpos    = winsaveview()
+  let ykeep     = @@
+  let ctr       = a:firstline
+  let svpos     = winsaveview()
+  let all       = 0
 "  call Decho("saving posn to svpos<".string(svpos).">",'~'.expand("<slnum>"))
 
   " rename files given by the markfilelist
@@ -11078,6 +11059,23 @@ fun! s:NetrwLocalRename(path) range
       let newname = substitute(oldname,subfrom,subto,'')
      endif
     endif
+    if !all && filereadable(newname)
+     call inputsave()
+      let response= input("File<".newname."> already exists; do you want to overwrite it? (y/all/n) ")
+     call inputrestore()
+     if response == "all"
+      let all= 1
+     elseif response != "y" && response != "yes"
+      " refresh the directory
+"      call Decho("refresh the directory listing",'~'.expand("<slnum>"))
+      NetrwKeepj call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
+"      call Decho("restoring posn to svpos<".string(svpos).">",'~'.expand("<slnum>"))
+      NetrwKeepj call winrestview(svpos)
+      let @@= ykeep
+"      call Dret("NetrwLocalRename")
+      return
+     endif
+    endif
     call rename(oldname,newname)
    endfor
    call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
@@ -11101,14 +11099,14 @@ fun! s:NetrwLocalRename(path) range
 
     NetrwKeepj norm! 0
     let oldname= s:ComposePath(a:path,curword)
-"   call Decho("oldname<".oldname.">",'~'.expand("<slnum>"))
+"    call Decho("oldname<".oldname.">",'~'.expand("<slnum>"))
 
     call inputsave()
     let newname= input("Moving ".oldname." to : ",substitute(oldname,'/*$','','e'))
     call inputrestore()
 
     call rename(oldname,newname)
-"   call Decho("renaming <".oldname."> to <".newname.">",'~'.expand("<slnum>"))
+"    call Decho("renaming <".oldname."> to <".newname.">",'~'.expand("<slnum>"))
 
     let ctr= ctr + 1
    endwhile
@@ -11896,6 +11894,9 @@ fun! s:NetrwExe(cmd)
 "   call Decho("exe ".a:cmd,'~'.expand("<slnum>"))
    exe a:cmd
   endif
+  if v:shell_error
+   call netrw#ErrorMsg(s:WARNING,"shell signalled an error",106)
+  endif
 "  call Dret("s:NetrwExe : v:shell_error=".v:shell_error)
 endfun
 
--- a/runtime/autoload/netrwSettings.vim
+++ b/runtime/autoload/netrwSettings.vim
@@ -1,6 +1,6 @@
 " netrwSettings.vim: makes netrw settings simpler
 " Date:		Nov 09, 2016
-" Maintainer:	Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
+" Maintainer:	Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Version:	16
 " Copyright:    Copyright (C) 1999-2007 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
--- a/runtime/autoload/tar.vim
+++ b/runtime/autoload/tar.vim
@@ -1,13 +1,13 @@
 " tar.vim: Handles browsing tarfiles
 "            AUTOLOAD PORTION
-" Date:			Apr 17, 2013
-" Version:		29
-" Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
-" License:		Vim License  (see vim's :help license)
+" Date:		Jan 07, 2020
+" Version:	32
+" Maintainer:	Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
+" License:	Vim License  (see vim's :help license)
 "
 "	Contains many ideas from Michael Toren's <tar.vim>
 "
-" Copyright:    Copyright (C) 2005-2011 Charles E. Campbell {{{1
+" Copyright:    Copyright (C) 2005-2017 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
 "               with or without modifications, provided that this copyright
 "               notice is copied with it. Like anything else that's free,
@@ -22,7 +22,7 @@
 if &cp || exists("g:loaded_tar")
  finish
 endif
-let g:loaded_tar= "v29"
+let g:loaded_tar= "v32"
 if v:version < 702
  echohl WarningMsg
  echo "***warning*** this version of tar needs vim 7.2"
@@ -48,6 +48,9 @@ endif
 if !exists("g:tar_writeoptions")
  let g:tar_writeoptions= "uf"
 endif
+if !exists("g:tar_delfile")
+ let g:tar_delfile="--delete -f"
+endif
 if !exists("g:netrw_cygwin")
  if has("win32") || has("win95") || has("win64") || has("win16")
   if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
@@ -109,6 +112,7 @@ fun! tar#Browse(tarfile)
   " sanity checks
   if !executable(g:tar_cmd)
    redraw!
+"   call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
    echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
    let &report= repkeep
 "   call Dret("tar#Browse")
@@ -117,8 +121,9 @@ fun! tar#Browse(tarfile)
   if !filereadable(a:tarfile)
 "   call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
    if a:tarfile !~# '^\a\+://'
-    " if it's an url, don't complain, let url-handlers such as vim do its thing
+    " if its an url, don't complain, let url-handlers such as vim do its thing
     redraw!
+"    call Decho("***error*** (tar#Browse) File not readable<".a:tarfile.">")
     echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
    endif
    let &report= repkeep
@@ -152,12 +157,27 @@ fun! tar#Browse(tarfile)
    " assuming cygwin
    let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
   endif
+  let curlast= line("$")
 
-  let curlast= line("$")
-  if tarfile =~# '\.\(gz\|tgz\)$'
-    let gzip_command = s:get_gzip_command(tarfile)
+  if tarfile =~# '\.\(gz\)$'
 "   call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
-   exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+   exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+
+  elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$'
+   if has("unix") && executable("file")
+    let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
+   else
+    let filekind= ""
+   endif
+
+   if filekind =~ "bzip2"
+    exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+   elseif filekind =~ "XZ"
+    exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+   else
+    exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+   endif
+
   elseif tarfile =~# '\.lrp'
 "   call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
    exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
@@ -184,7 +204,7 @@ fun! tar#Browse(tarfile)
 "   call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
    return
   endif
-  if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
+  if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~# '\c\%(warning\|error\|inappropriate\|unrecognized\)')
    redraw!
    echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
    keepj sil! %d
@@ -197,8 +217,13 @@ fun! tar#Browse(tarfile)
    return
   endif
 
+  " set up maps supported for tar
   setlocal noma nomod ro
-  noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
+  noremap <silent> <buffer>	<cr>		:call <SID>TarBrowseSelect()<cr>
+  noremap <silent> <buffer>	x	 	:call tar#Extract()<cr>       
+  if &mouse != ""
+   noremap <silent> <buffer>	<leftmouse>	<leftmouse>:call <SID>TarBrowseSelect()<cr>
+  endif
 
   let &report= repkeep
 "  call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
@@ -235,7 +260,8 @@ fun! s:TarBrowseSelect()
    let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
   endif
 
-  new
+  " open a new window (tar#Read will read a file into it)
+  noswapfile new
   if !exists("g:tar_nomax") || g:tar_nomax == 0
    wincmd _
   endif
@@ -267,7 +293,7 @@ fun! tar#Read(fname,mode)
   if  fname =~ '\.bz2$' && executable("bzcat")
    let decmp= "|bzcat"
    let doro = 1
-  elseif      fname =~ '\.gz$'  && executable("zcat")
+  elseif      fname =~ '\.t\=gz$'  && executable("zcat")
    let decmp= "|zcat"
    let doro = 1
   elseif  fname =~ '\.lzma$' && executable("lzcat")
@@ -291,20 +317,29 @@ fun! tar#Read(fname,mode)
   endif
 
   if tarfile =~# '\.bz2$'
-"   call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
    exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
-  elseif tarfile =~# '\.\(gz\|tgz\)$'
-    let gzip_command = s:get_gzip_command(tarfile)
-"   call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
-   exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+  elseif tarfile =~# '\.\(gz\)$'
+   exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+
+  elseif tarfile =~# '\(\.tgz\|\.tbz\|\.txz\)'
+   if has("unix") && executable("file")
+    let filekind= system("file ".shellescape(tarfile,1))
+   else
+    let filekind= ""
+   endif
+   if filekind =~ "bzip2"
+    exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+   elseif filekind =~ "XZ"
+    exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+   else
+    exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+   endif
+
   elseif tarfile =~# '\.lrp$'
-"   call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
    exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
   elseif tarfile =~# '\.lzma$'
-"   call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
    exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
   elseif tarfile =~# '\.\(xz\|txz\)$'
-"   call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
    exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
   else
    if tarfile =~ '^\s*-'
@@ -348,13 +383,14 @@ fun! tar#Write(fname)
   " sanity checks
   if !executable(g:tar_cmd)
    redraw!
-   echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
+"   call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
    let &report= repkeep
 "   call Dret("tar#Write")
    return
   endif
   if !exists("*mkdir")
    redraw!
+"   call Decho("***error*** (tar#Write) sorry, mkdir() doesn't work on your system")
    echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
    let &report= repkeep
 "   call Dret("tar#Write")
@@ -375,6 +411,7 @@ fun! tar#Write(fname)
    exe "cd ".fnameescape(tmpdir)
   catch /^Vim\%((\a\+)\)\=:E344/
    redraw!
+"   call Decho("***error*** (tar#Write) cannot cd to temporary directory")
    echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
    let &report= repkeep
 "   call Dret("tar#Write")
@@ -393,8 +430,6 @@ fun! tar#Write(fname)
   let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
   let fname   = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
 
-  let gzip_command = s:get_gzip_command(tarfile)
-
   " handle compressed archives
   if tarfile =~# '\.bz2'
    call system("bzip2 -d -- ".shellescape(tarfile,0))
@@ -402,12 +437,12 @@ fun! tar#Write(fname)
    let compress= "bzip2 -- ".shellescape(tarfile,0)
 "   call Decho("compress<".compress.">")
   elseif tarfile =~# '\.gz'
-   call system(gzip_command . " -d -- ".shellescape(tarfile,0))
+   call system("gzip -d -- ".shellescape(tarfile,0))
    let tarfile = substitute(tarfile,'\.gz','','e')
    let compress= "gzip -- ".shellescape(tarfile,0)
 "   call Decho("compress<".compress.">")
   elseif tarfile =~# '\.tgz'
-   call system(gzip_command . " -d -- ".shellescape(tarfile,0))
+   call system("gzip -d -- ".shellescape(tarfile,0))
    let tarfile = substitute(tarfile,'\.tgz','.tar','e')
    let compress= "gzip -- ".shellescape(tarfile,0)
    let tgz     = 1
@@ -427,6 +462,7 @@ fun! tar#Write(fname)
 
   if v:shell_error != 0
    redraw!
+"   call Decho("***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname)
    echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
   else
 
@@ -459,10 +495,11 @@ fun! tar#Write(fname)
    endif
  
    " delete old file from tarfile
-"   call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
-   call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
+"   call Decho("system(".g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
+   call system(g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
    if v:shell_error != 0
     redraw!
+"    call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
     echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
    else
  
@@ -471,6 +508,7 @@ fun! tar#Write(fname)
     call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
     if v:shell_error != 0
      redraw!
+"     call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
      echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
     elseif exists("compress")
 "     call Decho("call system(".compress.")")
@@ -486,11 +524,11 @@ fun! tar#Write(fname)
    if s:tblfile_{winnr()} =~ '^\a\+://'
 "    call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
     let tblfile= s:tblfile_{winnr()}
-    1split|enew
+    1split|noswapfile enew
     let binkeep= &l:binary
     let eikeep = &ei
     set binary ei=all
-    exe "e! ".fnameescape(tarfile)
+    exe "noswapfile e! ".fnameescape(tarfile)
     call netrw#NetWrite(tblfile)
     let &ei       = eikeep
     let &l:binary = binkeep
@@ -524,7 +562,7 @@ fun! tar#Diff(userfname,fname)
    " sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
    diffthis
    wincmd v
-   exe "e ".fnameescape(fname)
+   exe "noswapfile e ".fnameescape(fname)
    diffthis
   else
    redraw!
@@ -534,6 +572,119 @@ fun! tar#Diff(userfname,fname)
 endfun
 
 " ---------------------------------------------------------------------
+" tar#Extract: extract a file from a (possibly compressed) tar archive {{{2
+fun! tar#Extract()
+"  call Dfunc("tar#Extract()")
+
+  let repkeep= &report
+  set report=10
+  let fname= getline(".")
+"  call Decho("fname<".fname.">")
+
+  if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
+   redraw!
+   echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
+"   call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
+   return
+  endif
+
+  " sanity check
+  if fname =~ '^"'
+   let &report= repkeep
+"   call Dret("TarBrowseSelect")
+   return
+  endif
+
+  let tarball = expand("%")
+"  call Decho("tarball<".tarball.">")
+  let tarbase = substitute(tarball,'\..*$','','')
+"  call Decho("tarbase<".tarbase.">")
+
+  let extractcmd= netrw#WinPath(g:tar_extractcmd)
+  if filereadable(tarbase.".tar")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+
+  elseif filereadable(tarbase.".tgz")
+   let extractcmd= substitute(extractcmd,"-","-z","")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tgz ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd."t ".tarbase.".tgz ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+
+  elseif filereadable(tarbase.".tar.gz")
+   let extractcmd= substitute(extractcmd,"-","-z","")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+
+  elseif filereadable(tarbase.".tbz")
+   let extractcmd= substitute(extractcmd,"-","-j","")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+
+  elseif filereadable(tarbase.".tar.bz2")
+   let extractcmd= substitute(extractcmd,"-","-j","")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+
+  elseif filereadable(tarbase.".txz")
+   let extractcmd= substitute(extractcmd,"-","-J","")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd." ".tarbase.".txz ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd." ".tarbase.".txz ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+
+  elseif filereadable(tarbase.".tar.xz")
+   let extractcmd= substitute(extractcmd,"-","-J","")
+"   call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname).")")
+   call system(extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname))
+   if v:shell_error != 0
+    echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.xz ".fname.": failed!" | echohl NONE
+"    call Decho("***error*** ".extractcmd." ".tarbase.".tar.xz ".fname.": failed!")
+   else
+    echo "***note*** successfully extracted ".fname
+   endif
+  endif
+
+  " restore option
+  let &report= repkeep
+
+"  call Dret("tar#Extract")
+endfun
+
+" ---------------------------------------------------------------------
 " s:Rmdir: {{{2
 fun! s:Rmdir(fname)
 "  call Dfunc("Rmdir(fname<".a:fname.">)")
@@ -587,10 +738,7 @@ fun! tar#Vimuntar(...)
 
   " if necessary, decompress the tarball; then, extract it
   if tartail =~ '\.tgz'
-   let gzip_command = s:get_gzip_command(tarfile)
-   if executable(gzip_command)
-    silent exe "!" . gzip_command . " -d ".shellescape(tartail)
-   elseif executable("gunzip")
+   if executable("gunzip")
     silent exe "!gunzip ".shellescape(tartail)
    elseif executable("gzip")
     silent exe "!gzip -d ".shellescape(tartail)
@@ -628,28 +776,6 @@ fun! tar#Vimuntar(...)
 "  call Dret("tar#Vimuntar")
 endfun
 
-func s:get_gzip_command(file)
-  " Try using the "file" command to get the actual compression type, since
-  " there is no standard way for the naming: ".tgz", ".tbz", ".txz", etc.
-  " If the "file" command doesn't work fall back to just using the file name.
-  if a:file =~# 'z$'
-    let filetype = system('file ' . a:file)
-    if filetype =~ 'bzip2 compressed' && executable('bzip2')
-      return 'bzip2'
-    endif
-    if filetype =~ 'XZ compressed' && executable('xz')
-      return 'xz'
-    endif
-  endif
-  if a:file =~# 'bz2$'
-    return 'bzip2'
-  endif
-  if a:file =~# 'xz$'
-    return 'xz'
-  endif
-  return 'gzip'
-endfunc
-
 " =====================================================================
 " Modelines And Restoration: {{{1
 let &cpo= s:keepcpo
--- a/runtime/autoload/zip.vim
+++ b/runtime/autoload/zip.vim
@@ -1,10 +1,10 @@
 " zip.vim: Handles browsing zipfiles
 "            AUTOLOAD PORTION
-" Date:		Sep 13, 2016
-" Version:	28
-" Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
+" Date:		Jan 07, 2020
+" Version:	30
+" Maintainer:	Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " License:	Vim License  (see vim's :help license)
-" Copyright:    Copyright (C) 2005-2013 Charles E. Campbell {{{1
+" Copyright:    Copyright (C) 2005-2019 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
 "               with or without modifications, provided that this copyright
 "               notice is copied with it. Like anything else that's free,
@@ -20,7 +20,7 @@
 if &cp || exists("g:loaded_zip")
  finish
 endif
-let g:loaded_zip= "v28"
+let g:loaded_zip= "v30"
 if v:version < 702
  echohl WarningMsg
  echo "***warning*** this version of zip needs vim 7.2 or later"
@@ -65,14 +65,14 @@ endif
 " zip#Browse: {{{2
 fun! zip#Browse(zipfile)
 "  call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
-  " sanity check: ensure that the zipfile has "PK" as its first two letters
+  " sanity check: insure that the zipfile has "PK" as its first two letters
   "               (zipped files have a leading PK as a "magic cookie")
   if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
-   exe "noautocmd e ".fnameescape(a:zipfile)
+   exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
 "   call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
    return
 "  else        " Decho
-"   call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - it's a zip file")
+"   call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - its a zip file")
   endif
 
   let repkeep= &report
@@ -95,7 +95,7 @@ fun! zip#Browse(zipfile)
   endif
   if !filereadable(a:zipfile)
    if a:zipfile !~# '^\a\+://'
-    " if it's an url, don't complain, let url-handlers such as vim do its thing
+    " if its an url, don't complain, let url-handlers such as vim do its thing
     redraw!
     echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
 "    call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -141,8 +141,11 @@ fun! zip#Browse(zipfile)
 
   " Maps associated with zip plugin
   setlocal noma nomod ro
-  noremap <silent> <buffer> <cr>	:call <SID>ZipBrowseSelect()<cr>
-  noremap <silent> <buffer> x		:call zip#Extract()<cr>
+  noremap <silent> <buffer>	<cr>		:call <SID>ZipBrowseSelect()<cr>
+  noremap <silent> <buffer>	x		:call zip#Extract()<cr>
+  if &mouse != ""
+   noremap <silent> <buffer>	<leftmouse>	<leftmouse>:call <SID>ZipBrowseSelect()<cr>
+  endif
 
   let &report= repkeep
 "  call Dret("zip#Browse")
@@ -175,17 +178,17 @@ fun! s:ZipBrowseSelect()
 
   " get zipfile to the new-window
   let zipfile = b:zipfile
-  let curfile= expand("%")
+  let curfile = expand("%")
 "  call Decho("zipfile<".zipfile.">")
 "  call Decho("curfile<".curfile.">")
 
-  new
+  noswapfile new
   if !exists("g:zip_nomax") || g:zip_nomax == 0
    wincmd _
   endif
   let s:zipfile_{winnr()}= curfile
 "  call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
-  exe "e ".fnameescape("zipfile:".zipfile.'::'.fname)
+  exe "noswapfile e ".fnameescape("zipfile:".zipfile.'::'.fname)
   filetype detect
 
   let &report= repkeep
@@ -339,7 +342,7 @@ fun! zip#Write(fname)
    let binkeep= &binary
    let eikeep = &ei
    set binary ei=all
-   exe "e! ".fnameescape(zipfile)
+   exe "noswapfile e! ".fnameescape(zipfile)
    call netrw#NetWrite(netzipfile)
    let &ei     = eikeep
    let &binary = binkeep
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2020 Jan 02
+*eval.txt*	For Vim version 8.2.  Last change: 2020 Jan 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3047,10 +3047,6 @@ argv([{nr} [, {winid}])
 		The {winid} argument specifies the window ID, see |argc()|.
 		For the Vim command line arguments see |v:argv|.
 
-
-assert_ functions are documented here: |assert-functions-details|
-
-
 asin({expr})						*asin()*
 		Return the arc sine of {expr} measured in radians, as a |Float|
 		in the range of [-pi/2, pi/2].
@@ -3068,6 +3064,10 @@ asin({expr})						*asin()*
 		{only available when compiled with the |+float| feature}
 
 
+assert_ functions are documented here: |assert-functions-details|
+
+
+
 atan({expr})						*atan()*
 		Return the principal value of the arc tangent of {expr}, in
 		the range [-pi/2, +pi/2] radians, as a |Float|.
@@ -3935,13 +3935,6 @@ diff_hlID({lnum}, {col})				*diff_hlID()
 
 		Can also be used as a |method|: >
 			GetLnum()->diff_hlID(col)
-environ()						*environ()*
-		Return all of environment variables as dictionary. You can
-		check if an environment variable exists like this: >
-			:echo has_key(environ(), 'HOME')
-<		Note that the variable name may be CamelCase; to ignore case
-		use this: >
-			:echo index(keys(environ()), 'HOME', 0, 1) != -1
 
 empty({expr})						*empty()*
 		Return the Number 1 if {expr} is empty, zero otherwise.
@@ -3960,6 +3953,14 @@ empty({expr})						*empty()*
 		Can also be used as a |method|: >
 			mylist->empty()
 
+environ()						*environ()*
+		Return all of environment variables as dictionary. You can
+		check if an environment variable exists like this: >
+			:echo has_key(environ(), 'HOME')
+<		Note that the variable name may be CamelCase; to ignore case
+		use this: >
+			:echo index(keys(environ()), 'HOME', 0, 1) != -1
+
 escape({string}, {chars})				*escape()*
 		Escape the characters in {chars} that occur in {string} with a
 		backslash.  Example: >
@@ -7084,9 +7085,9 @@ matchstrpos({expr}, {pat} [, {start} [, 
 <
 							*max()*
 max({expr})	Return the maximum value of all items in {expr}.
-		{expr} can be a list or a dictionary.  For a dictionary,
-		it returns the maximum of all values in the dictionary.
-		If {expr} is neither a list nor a dictionary, or one of the
+		{expr} can be a List or a Dictionary.  For a Dictionary,
+		it returns the maximum of all values in the Dictionary.
+		If {expr} is neither a List nor a Dictionary, or one of the
 		items in {expr} cannot be used as a Number this results in
 		an error.  An empty |List| or |Dictionary| results in zero.
 
@@ -7095,9 +7096,9 @@ max({expr})	Return the maximum value of 
 
 <							*min()*
 min({expr})	Return the minimum value of all items in {expr}.
-		{expr} can be a list or a dictionary.  For a dictionary,
-		it returns the minimum of all values in the dictionary.
-		If {expr} is neither a list nor a dictionary, or one of the
+		{expr} can be a List or a Dictionary.  For a Dictionary,
+		it returns the minimum of all values in the Dictionary.
+		If {expr} is neither a List nor a Dictionary, or one of the
 		items in {expr} cannot be used as a Number this results in
 		an error.  An empty |List| or |Dictionary| results in zero.
 
@@ -10360,6 +10361,7 @@ win_splitmove({nr}, {target} [, {options
 		then closing {nr}.
 
 		Both {nr} and {target} can be window numbers or |window-ID|s.
+		Both must be in the current tab page.
 
 		Returns zero for success, non-zero for failure.
 
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2019 Nov 26
+*insert.txt*    For Vim version 8.2.  Last change: 2020 Jan 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/pi_getscript.txt
+++ b/runtime/doc/pi_getscript.txt
@@ -1,15 +1,15 @@
-*pi_getscript.txt*  For Vim version 8.2.  Last change: 2017 Aug 01
+*pi_getscript.txt*  For Vim version 7.0.  Last change: 2013 Nov 29
 >
 		GETSCRIPT REFERENCE MANUAL  by Charles E. Campbell
 <
-Authors:  Charles E. Campbell  <NdrOchip@ScampbellPfamilyA.Mbiz>
-	  (remove NOSPAM from the email address)
+Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
+	 (remove NOSPAM from the email address)
 						*GetLatestVimScripts-copyright*
 Copyright: (c) 2004-2012 by Charles E. Campbell	*glvs-copyright*
 	The VIM LICENSE (see |copyright|) applies to the files in this
 	package, including getscriptPlugin.vim, getscript.vim,
 	GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
-	instead of "Vim".  Like anything else that's free, getscript and its
+	instead of "VIM".  Like anything else that's free, getscript and its
 	associated files are provided *as is* and comes with no warranty of
 	any kind, either expressed or implied.  No guarantees of
 	merchantability.  No guarantees of suitability for any purpose.  By
@@ -68,7 +68,7 @@ Your computer needs to have wget or curl
 		mv GetLatestVimScripts.dist GetLatestVimScripts.dat
 		(edit GetLatestVimScripts.dat to install your own personal
 		list of desired plugins -- see |GetLatestVimScripts_dat|)
-
+	
 	3. Windows:
 		vim getscript.vba
 		:so %
@@ -389,7 +389,7 @@ v36 Apr 22, 2013 : * (glts) suggested us
 		     plugin/*.vim in globpath() call.
 		   * (Andy Wokula) got warning message when setting
 		     g:loaded_getscriptPlugin
-v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script URL has
+v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
 		     changed (somewhat).  However, it doesn't work, and
 		     the original one does (under Linux). I'll make it
 		     yet-another-option.
@@ -479,4 +479,4 @@ v2  May 14, 2003 :   extracts name of it
                      and they became numbers.  Fixes comparison.
 
 ==============================================================================
-vim:tw=78:ts=8:noet:ft=help:fdm=marker
+vim:tw=78:ts=8:ft=help:fdm=marker
--- a/runtime/doc/pi_logipat.txt
+++ b/runtime/doc/pi_logipat.txt
@@ -1,7 +1,7 @@
-*pi_logipat.txt*	Logical Patterns			Jun 22, 2015
+*pi_logipat.txt*	Logical Patterns				May 01, 2019
 
-Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
-Copyright: (c) 2004-2015 by Charles E. Campbell	*logiPat-copyright*
+Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
+Copyright: (c) 2004-2016 by Charles E. Campbell	*logiPat-copyright*
            The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
            (see |copyright|) except use "LogiPat" instead of "Vim"
 	   No warranty, express or implied.  Use At-Your-Own-Risk.
@@ -28,12 +28,14 @@ 2. LogiPat Manual			*logiPat-manual* *lo
 			grouping   ( ... )
 			patterns   "pattern"
 
+	*logiPat-cmd*
 	:LogiPat {boolean-logic pattern}		*:LogiPat*
 		:LogiPat is a command which takes a boolean-logic
 		argument (|logiPat-arg|).
 
 	:LP {boolean-logic pattern}			*:LP*
 		:LP is a shorthand command version of :LogiPat
+		(|logiPat-cmd|).
 
 	:LPE {boolean-logic pattern}			*:LPE*
 		No search is done, but the conversion from the
@@ -69,7 +71,7 @@ 3. LogiPat Examples					*logiPat-example
 <		will search for lines containing the string  :abc:
 >
 	:LogiPat "ab""cd"
-<		will search for lines containing the string  :ab"c:
+<		will search for lines containing the string  :ab"cd:
 >
 	:LogiPat !"abc"
 <		will search for lines which don't contain the string  :abc:
@@ -117,4 +119,4 @@ 5. LogiPat History					*logiPat-history*
 
 
 ==============================================================================
-vim:tw=78:ts=8:noet:ft=help
+vim:tw=78:ts=8:ft=help
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,9 +1,9 @@
-*pi_netrw.txt*  For Vim version 8.2.  Last change: 2019 Dec 10
+*pi_netrw.txt*  For Vim version 8.2.  Last change: 2020 Jan 07
 
 	    ------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell
 	    ------------------------------------------------
-Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
+Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
 	  (remove NOSPAM from Campbell's email first)
 
 Copyright: Copyright (C) 2017 Charles E Campbell    *netrw-copyright*
@@ -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.
@@ -1565,8 +1565,8 @@ So, for example: >
 	file.rcs,v  ->  NFH_rcsCOMMAv()
 <
 If more such translations are necessary, please send me email: >
-		NdrOchip at ScampbellPfamily.AbizM - NOSPAM
-with a request.
+		NcampObell@SdrPchip.AorgM-NOSPAM
+with a request.  (remove the embedded NOSPAM first)
 
 Associated setting variable: |g:netrw_browsex_viewer|
 
@@ -3229,7 +3229,8 @@ If there are marked files:  (see |netrw-
 	R   [query: reply with s/^\(.*\)\.c$/\1.cpp/]
 <
     This example will mark all *.c files and then rename them to *.cpp
-    files.
+    files.  Netrw will protect you from overwriting local files without
+    confirmation, but not remote ones.
 
     The ctrl-X character has special meaning for renaming files: >
 
@@ -3512,7 +3513,7 @@ 10. Problems and Fixes					*netrw-proble
 			- Click "Add..."
 			- Set External Editor (adjust path as needed, include
 			  the quotes and !.! at the end):
-			    "c:\Program Files\Vim\vim81\gvim.exe" !.!
+			    "c:\Program Files\Vim\vim70\gvim.exe" !.!
 			- Check that the filetype in the box below is
 			  {asterisk}.{asterisk} (all files), or whatever types
 			  you want (cec: change {asterisk} to * ; I had to
@@ -3762,8 +3763,8 @@ by obtaining a copy of the latest (often
 
 The <netrw.vim> script is typically installed on systems as something like:
 >
-	/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
-	/usr/local/share/vim/vim8x/autoload/netrw.vim
+	/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
+	/usr/local/share/vim/vim7x/autoload/netrw.vim
 		(see output of :echo &rtp)
 <
 which is loaded automatically at startup (assuming :set nocp).  If you
@@ -3836,12 +3837,18 @@ netrw:
 
 	   Please send that information to <netrw.vim>'s maintainer along
 	   with the o/s you're using and the vim version that you're using
-	   (see |:version|) >
-		NdrOchip at ScampbellPfamily.AbizM - NOSPAM
+	   (see |:version|)  (remove the embedded NOSPAM first) >
+		NcampObell@SdrPchip.AorgM-NOSPAM
 <
 ==============================================================================
 12. History						*netrw-history* {{{1
 
+	v169:	Dec 20, 2019	* (reported by amkarthik) that netrw's x
+				  (|netrw-x|) would throw an error when
+				  attempting to open a local directory.
+	v168:	Dec 12, 2019	* scp timeout error message not reported,
+				  hopefully now fixed (Shane Xb Qian)
+
 	v167:	Nov 29, 2019	* netrw does a save&restore on @* and @+.
 				  That causes problems with the clipboard.
 				  Now restores occurs only if @* or @+ have
@@ -4279,7 +4286,7 @@ 14. Credits						*netrw-credits* {{{1
 	Vim editor	by Bram Moolenaar (Thanks, Bram!)
 	dav		support by C Campbell
 	fetch		support by Bram Moolenaar and C Campbell
-	ftp		support by C Campbell <NdrOchip@ScampbellPfamily.AbizM>
+	ftp		support by C Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 	http		support by Bram Moolenaar <bram@moolenaar.net>
 	rcp
 	rsync		support by C Campbell (suggested by Erik Warendorph)
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,12 +1,12 @@
-*pi_tar.txt*	For Vim version 8.2.  Last change: 2013 Apr 17
+*pi_tar.txt*	For Vim version 8.2.  Last change: 2020 Jan 07
 
 		       +====================+
 		       | Tar File Interface |
 		       +====================+
 
-Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
+Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
 	  (remove NOSPAM from Campbell's email first)
-Copyright 2005-2012:					*tar-copyright*
+Copyright 2005-2017:					*tar-copyright*
 	The VIM LICENSE (see |copyright|) applies to the files in this
 	package, including tarPlugin.vim, tar.vim, and pi_tar.txt.  Like
 	anything else that's except use "tar.vim" instead of "VIM".  Like
@@ -104,48 +104,67 @@ 3. Options						*tar-options*
 ==============================================================================
 4. History						*tar-history*
 
-
-   v28 Jun 23, 2011 * a few more decompression options (tbz tb2 txz)
-   v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd handling
-   		    * inserted additional |:keepj| modifiers
-		    * changed silent  to  sil!  (|:silent|)
-   v26 Aug 09, 2010 * uses buffer-local instead of window variables to hold
-		      tarfile name
-		    * inserted keepj before 0d to protect jump list
-   v25 Jun 19, 2010 * (Jan Steffens) added support for xz compression
-   v24 Apr 07, 2009 * :Untarvim command implemented
-       Sep 28, 2009 * Added lzma support
-   v22 Aug 08, 2008 * security fixes
-   v16 Jun 06, 2008 * tarfile:: used instead of tarfile: when editing files
-		      inside tarballs.  Fixes a problem with tarballs called
-		      things like c:\abc.tar. (tnx to Bill McCarthy)
-   v14 May 09, 2008 * arno caught a security bug
-       May 28, 2008 * various security improvements.  Now requires patch 299
-		      which provides the fnameescape() function
-       May 30, 2008 * allows one to view *.gz and *.bz2 files that are in
-		    *.tar files.
-   v12 Sep 07, 2007 * &shq now used if not the empty string for g:tar_shq
-   v10 May 02, 2006 * now using "redraw then echo" to show messages, instead
-		      of "echo and prompt user"
-   v9 May 02, 2006 * improved detection of masquerading as tar file
-   v8 May 02, 2006 * allows editing of files that merely masquerade as tar
-		     files
-   v7 Mar 22, 2006 * work on making tar plugin work across network
-      Mar 27, 2006 * g:tar_cmd now available for users to change the name
-		     of the tar program to be used.  By default, of course,
-		     it's "tar".
-   v6 Dec 21, 2005 * writing to files not in directories caused problems -
-		     fixed (pointed out by Christian Robinson)
-   v5 Nov 22, 2005 * report option workaround installed
-   v3 Sep 16, 2005 * handles writing files in an archive back to the
-		     archive
-      Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
-      Oct 18, 2005 * handles writing to compressed archives
-      Nov 03, 2005 * handles writing tarfiles across a network using
-		     netrw#NetWrite()
-   v2              * converted to use Vim7's new autoload feature by
-		     Bram Moolenaar
-   v1 (original)   * Michael Toren (see http://michael.toren.net/code/)
+	v31	Apr 02, 2017	* (klartext) reported that browsing encrypted
+				  files in a zip archive created unencrypted
+				  swap files.  I am applying a similar fix
+				  used on zip.vim to tar.vim: new buffers
+				  are opened with |:noswapfile|.
+		May 16, 2017	* When the mouse option isn't empty, the
+				  leftmouse can be used to select a file
+				  in the tar-file listing.
+	v30	Apr 22, 2014	* .tgz files are ambiguous: they may have been
+				  compressed with either gzip or bzip2.  Tar.vim
+				  disambiguates by using unix's "file" command.
+		Feb 18, 2016	* Changed =~ to =~# where appropriate
+		Feb 18, 2017	* Now also permits xz decompression
+	v28	Jun 23, 2011	* a few more decompression options (tbz tb2 txz)
+	v27	May 31, 2011	* moved cygwin detection before g:tar_copycmd
+				  handling
+				* inserted additional |:keepj| modifiers
+				* changed silent  to  sil!  (|:silent|)
+	v26	Aug 09, 2010	* uses buffer-local instead of window variables
+				  to hold tarfile name
+				* inserted keepj before 0d to protect jump list
+	v25	Jun 19, 2010	* (Jan Steffens) added support for xz
+				  compression
+	v24	Apr 07, 2009	* :Untarvim command implemented
+		Sep 28, 2009	* Added lzma support
+	v22	Aug 08, 2008	* security fixes
+	v16	Jun 06, 2008	* tarfile:: used instead of tarfile: when
+				  editing files inside tarballs.  Fixes a
+				  problem with tarballs called things like
+				  c:\abc.tar. (tnx to Bill McCarthy)
+	v14	May 09, 2008	* arno caught a security bug
+		May 28, 2008	* various security improvements.  Now requires
+				  patch 299 which provides the fnameescape()
+				  function
+		May 30, 2008	* allows one to view *.gz and *.bz2 files that
+				  are in *.tar files.
+	v12	Sep 07, 2007	* &shq now used if not the empty string for
+				  g:tar_shq
+	v10	May 02, 2006	* now using "redraw then echo" to show messages,
+				  instead of "echo and prompt user"
+	v9	May 02, 2006	* improved detection of masquerading as tar file
+	v8	May 02, 2006	* allows editing of files that merely masquerade
+				  as tar files
+	v7	Mar 22, 2006	* work on making tar plugin work across network
+		Mar 27, 2006	* g:tar_cmd now available for users to change
+				  the name of the tar program to be used.  By
+				  default, of course, it's "tar".
+	v6	Dec 21, 2005	* writing to files not in directories caused
+				  problems - fixed (pointed out by
+				  Christian Robinson)
+	v5	Nov 22, 2005	* report option workaround installed
+	v3	Sep 16, 2005	* handles writing files in an archive back to
+				  the archive
+		Oct 18, 2005	* <amatch> used instead of <afile> in autocmds
+		Oct 18, 2005	* handles writing to compressed archives
+		Nov 03, 2005	* handles writing tarfiles across a network
+				  using netrw#NetWrite()
+	v2			* converted to use Vim7's new autoload feature
+				  by Bram Moolenaar
+	v1	(original)	* Michael Toren
+				  (see http://michael.toren.net/code/)
 
 ==============================================================================
-vim:tw=78:ts=8:noet:ft=help
+vim:tw=78:ts=8:ft=help
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -4,7 +4,7 @@
 			       Vimball Archiver
 			       ----------------
 
-Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
+Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
 	  (remove NOSPAM from Campbell's email first)
 Copyright: (c) 2004-2015 by Charles E. Campbell		*Vimball-copyright*
 	The VIM LICENSE (see |copyright|) applies to the files in this
@@ -273,4 +273,4 @@ 4. Vimball History					*vimball-history*
 
 
 ==============================================================================
-vim:tw=78:ts=8:noet:ft=help:fdm=marker
+vim:tw=78:ts=8:ft=help:fdm=marker
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,10 +1,10 @@
-*pi_zip.txt*	For Vim version 8.2.  Last change: 2016 Sep 13
+*pi_zip.txt*	For Vim version 8.2.  Last change: 2020 Jan 07
 
 				+====================+
 				| Zip File Interface |
 				+====================+
 
-Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
+Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
 	  (remove NOSPAM from Campbell's email first)
 Copyright: Copyright (C) 2005-2015 Charles E Campbell	 *zip-copyright*
 	The VIM LICENSE (see |copyright|) applies to the files in this
@@ -33,10 +33,11 @@ 2. Usage						*zip-usage* *zip-manual*
    also write to the file.  Currently, one may not make a new file in
    zip archives via the plugin.
 
+   COMMANDS~
 								*zip-x*
-   x : may extract a listed file when the cursor is atop it
+   x : extract a listed file when the cursor is atop it
 
-   OPTIONS
+   OPTIONS~
 
    							*g:zip_nomax*
 
@@ -101,6 +102,10 @@ 3. Additional Extensions					*zip-extens
 
 ==============================================================================
 4. History							*zip-history* {{{1
+   v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could
+   		      opened but the swapfile held unencrypted contents.
+		      The solution is to edit the contents of a zip file
+		      using the |:noswapfile| modifier.
    v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
    		      the command actually to be attempted in zip#Read()
 		      and zip#Write()
@@ -149,4 +154,4 @@ 4. History							*zip-history* {{{1
    v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
 
 ==============================================================================
-vim:tw=78:ts=8:noet:ft=help:fdm=marker
+vim:tw=78:ts=8:ft=help:fdm=marker
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 8.2.  Last change: 2019 Dec 07
+*quickfix.txt*  For Vim version 8.2.  Last change: 2020 Jan 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7557,6 +7557,7 @@ log10()	eval.txt	/*log10()*
 logiPat	pi_logipat.txt	/*logiPat*
 logiPat-arg	pi_logipat.txt	/*logiPat-arg*
 logiPat-caveat	pi_logipat.txt	/*logiPat-caveat*
+logiPat-cmd	pi_logipat.txt	/*logiPat-cmd*
 logiPat-contents	pi_logipat.txt	/*logiPat-contents*
 logiPat-copyright	pi_logipat.txt	/*logiPat-copyright*
 logiPat-examples	pi_logipat.txt	/*logiPat-examples*
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.2.  Last change: 2019 Dec 07
+*terminal.txt*	For Vim version 8.2.  Last change: 2020 Jan 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -641,8 +641,8 @@ term_getsize({buf})					*term_getsize()*
 
 
 term_getstatus({buf})					*term_getstatus()*
-		Get the status of terminal {buf}. This returns a comma
-		separated list of these items:
+		Get the status of terminal {buf}. This returns a String with
+		a comma separated list of these items:
 			running		job is running
 			finished	job has finished
 			normal		in Terminal-Normal mode
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Jan 02
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Jan 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -209,6 +209,7 @@ When using :packadd files under "later" 
 with packages under "start". (xtal8, #1994)
 
 Patch to add new motion ]( and ]{.  (Yasuhiro Matsumoto, #5320)
+Or make "v" prefix work? 
 
 Modeless selection doesn't work in gvim. (#4783)
 Caused by patch 8.1.1534.
@@ -286,6 +287,10 @@ Patch to have text objects defined by ar
 Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
 Added tests (James McCoy, 2016 Aug 3, #958).  Still needs more work.
 
+":2resize +10" uses size of the current window, adds 10 and applies it to
+window 2.  User expects 10 to be added to size of window 2. (Daniel Steinberg,
+#5443)
+
 Patch for multi-byte characters in langmap and applying a mapping on them.
 (Christian Brabandt, 2015 Jun 12, update July 25)
 Is this the right solution?  Need to cleanup langmap behavior:
@@ -407,9 +412,6 @@ similar to check_due_timer().  Also see 
 C syntax: {} inside () causes following {} to be highlighted as error.
 (Michalis Giannakidis, 2006 Jun 1)
 
-Support setting the character displayed below the last line?  Neovim uses
-"eob:X" in 'fillchars'.
-
 Check: __attribute__((format(printf, on semsg() and siemsg().  Where was this
 added?
 
@@ -546,6 +548,8 @@ Add something like 'fillchars' local to 
 highlight name.  Esp. for the statusline.
 And "extends" and "precedes" are also useful without 'list' set.  Also in
 'fillchars' or another option?
+Related: #3820 - Support setting the character displayed below the last line?
+Neovim uses "eob:X" in 'fillchars'.
 
 Sourceforge Vim pages still have content, redirect from empty page.
 Check for PHP errors. (Wayne Davison, 2018 Oct 26)
@@ -922,8 +926,6 @@ Patch from Christian Brabandt to preserv
 buffer. (2013 Dec 9)
 Also fixes #2166?
 
-Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
-
 Python: After "import vim" error messages only show the first line of the
 stack trace. (Yggdroot, 2017 Jul 28, #1887)
 
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt*    For Vim version 8.2.  Last change: 2019 Dec 07
+*uganda.txt*    For Vim version 8.2.  Last change: 2020 Jan 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/plugin/getscriptPlugin.vim
+++ b/runtime/plugin/getscriptPlugin.vim
@@ -30,7 +30,7 @@ set cpo&vim
 "  Public Interface: {{{1
 com!        -nargs=0 GetLatestVimScripts call getscript#GetLatestVimScripts()
 com!        -nargs=0 GetScripts          call getscript#GetLatestVimScripts()
-silent! com -nargs=0 GLVS                call getscript#GetLatestVimScripts()
+sil! com    -nargs=0 GLVS                call getscript#GetLatestVimScripts()
 
 " ---------------------------------------------------------------------
 " Restore Options: {{{1
--- a/runtime/plugin/netrwPlugin.vim
+++ b/runtime/plugin/netrwPlugin.vim
@@ -1,7 +1,7 @@
 " netrwPlugin.vim: Handles file transfer and remote directory listing across a network
 "            PLUGIN SECTION
-" Date:		Feb 08, 2016
-" Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
+" Date:		Feb 08, 2016 - Jan 07, 2020
+" Maintainer:	Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
 " Copyright:    Copyright (C) 1999-2013 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
@@ -20,7 +20,7 @@
 if &cp || exists("g:loaded_netrwPlugin")
  finish
 endif
-let g:loaded_netrwPlugin = "v167"
+let g:loaded_netrwPlugin = "v168"
 let s:keepcpo = &cpo
 set cpo&vim
 "DechoRemOn
--- a/runtime/plugin/tarPlugin.vim
+++ b/runtime/plugin/tarPlugin.vim
@@ -14,7 +14,7 @@
 if &cp || exists("g:loaded_tarPlugin")
  finish
 endif
-let g:loaded_tarPlugin = "v29"
+let g:loaded_tarPlugin = "v32"
 let s:keepcpo          = &cpo
 set cpo&vim
 
@@ -39,8 +39,8 @@ augroup tar
   au BufReadCmd   *.lrp			call tar#Browse(expand("<amatch>"))
   au BufReadCmd   *.tar.bz2		call tar#Browse(expand("<amatch>"))
   au BufReadCmd   *.tar.Z		call tar#Browse(expand("<amatch>"))
+  au BufReadCmd   *.tbz			call tar#Browse(expand("<amatch>"))
   au BufReadCmd   *.tgz			call tar#Browse(expand("<amatch>"))
-  au BufReadCmd   *.tbz			call tar#Browse(expand("<amatch>"))
   au BufReadCmd   *.tar.lzma	call tar#Browse(expand("<amatch>"))
   au BufReadCmd   *.tar.xz		call tar#Browse(expand("<amatch>"))
   au BufReadCmd   *.txz			call tar#Browse(expand("<amatch>"))
--- a/runtime/plugin/zipPlugin.vim
+++ b/runtime/plugin/zipPlugin.vim
@@ -1,7 +1,7 @@
 " zipPlugin.vim: Handles browsing zipfiles
 "            PLUGIN PORTION
-" Date:			Sep 13, 2016
-" Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
+" Date:			Jan 07, 2020
+" Maintainer:	Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " License:		Vim License  (see vim's :help license)
 " Copyright:    Copyright (C) 2005-2016 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
@@ -20,14 +20,14 @@
 if &cp || exists("g:loaded_zipPlugin")
  finish
 endif
-let g:loaded_zipPlugin = "v28"
+let g:loaded_zipPlugin = "v30"
 let s:keepcpo          = &cpo
 set cpo&vim
 
 " ---------------------------------------------------------------------
 " Options: {{{1
 if !exists("g:zipPlugin_ext")
- let g:zipPlugin_ext='*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.wsz,*.xap,*.xlam,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
+ let g:zipPlugin_ext='*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.wsz,*.xap,*.xlam,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
 endif
 
 " ---------------------------------------------------------------------
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
-" Last Change: 2019 Nov 13
+" Last Change: 2020 Jan 05
 "
 " Additional contributors:
 "
@@ -932,7 +932,7 @@ if s:settings.dynamic_folds
 	\ "{",
 	\ "  var fold;",
 	\ "  fold = document.getElementById(objID);",
-	\ "  if(fold.className == 'closed-fold')",
+	\ "  if (fold.className == 'closed-fold')",
 	\ "  {",
 	\ "    fold.className = 'open-fold';",
 	\ "  }",