diff options
Diffstat (limited to 'data/vim/patches/8.1.0352')
-rw-r--r-- | data/vim/patches/8.1.0352 | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0352 b/data/vim/patches/8.1.0352 new file mode 100644 index 000000000..75ff41085 --- /dev/null +++ b/data/vim/patches/8.1.0352 @@ -0,0 +1,179 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0352 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0352 +Problem: Browsing compressed tar files does not always work. +Solution: Use the "file" command to get the compression type. +Files: runtime/autoload/tar.vim + + +*** ../vim-8.1.0351/runtime/autoload/tar.vim 2016-09-25 21:41:24.000000000 +0200 +--- runtime/autoload/tar.vim 2018-09-08 15:09:32.841486806 +0200 +*************** +*** 152,161 **** + " assuming cygwin + let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') + endif + let curlast= line("$") + if tarfile =~# '\.\(gz\|tgz\)$' + " call Decho("1: exe silent r! gzip -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 =~# '\.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." - " +--- 152,163 ---- + " assuming cygwin + let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') + endif ++ + let curlast= line("$") + if tarfile =~# '\.\(gz\|tgz\)$' ++ let gzip_command = s:get_gzip_command(tarfile) + " 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." - " + 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." - " +*************** +*** 287,298 **** + else + let tar_secure= " " + 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\)$' + " 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 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp + 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 +--- 289,302 ---- + else + let tar_secure= " " + 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 =~# '\.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 +*************** +*** 389,394 **** +--- 393,400 ---- + 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)) +*************** +*** 396,407 **** + let compress= "bzip2 -- ".shellescape(tarfile,0) + " call Decho("compress<".compress.">") + elseif tarfile =~# '\.gz' +! 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 -d -- ".shellescape(tarfile,0)) + let tarfile = substitute(tarfile,'\.tgz','.tar','e') + let compress= "gzip -- ".shellescape(tarfile,0) + let tgz = 1 +--- 402,413 ---- + let compress= "bzip2 -- ".shellescape(tarfile,0) + " call Decho("compress<".compress.">") + elseif tarfile =~# '\.gz' +! call system(gzip_command . " -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)) + let tarfile = substitute(tarfile,'\.tgz','.tar','e') + let compress= "gzip -- ".shellescape(tarfile,0) + let tgz = 1 +*************** +*** 581,587 **** + + " if necessary, decompress the tarball; then, extract it + if tartail =~ '\.tgz' +! if executable("gunzip") + silent exe "!gunzip ".shellescape(tartail) + elseif executable("gzip") + silent exe "!gzip -d ".shellescape(tartail) +--- 587,596 ---- + + " 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") + silent exe "!gunzip ".shellescape(tartail) + elseif executable("gzip") + silent exe "!gzip -d ".shellescape(tartail) +*************** +*** 619,624 **** +--- 628,655 ---- + " 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 +*** ../vim-8.1.0351/src/version.c 2018-09-06 21:44:13.660006996 +0200 +--- src/version.c 2018-09-08 14:57:29.304425238 +0200 +*************** +*** 796,797 **** +--- 796,799 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 352, + /**/ + +-- +If Pacman had affected us as kids we'd be running around in dark rooms, +munching pills and listening to repetitive music. + -- Marcus Brigstocke + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |