runtime(misc): add support for bzip3 to tar, vimball and gzip plugins Commit: https://github.com/vim/vim/commit/56957ed4109fb0c37922c6c37d5926cfe0a3313b Author: Jim Zhou <jimzhou...@gmail.com> Date: Fri Feb 28 18:06:14 2025 +0100
runtime(misc): add support for bzip3 to tar, vimball and gzip plugins fixes: https://github.com/vim/vim/issues/16751 closes: https://github.com/vim/vim/issues/16755 Signed-off-by: Jim Zhou <jimzhou...@gmail.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/runtime/autoload/getscript.vim b/runtime/autoload/getscript.vim index 39060508b..e599d1ed9 100644 --- a/runtime/autoload/getscript.vim +++ b/runtime/autoload/getscript.vim @@ -12,6 +12,7 @@ " autoloading search path fix " substitution of hardcoded commands with global variables " 2024 Nov 12 by Vim Project: fix problems on Windows (#16036) +" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755) " }}} " " GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim @@ -100,6 +101,10 @@ if !exists("g:GetLatestVimScripts_bunzip2") let g:GetLatestVimScripts_bunzip2= "bunzip2" endif +if !exists("g:GetLatestVimScripts_bunzip3") + let g:GetLatestVimScripts_bunzip3= "bunzip3" +endif + if !exists("g:GetLatestVimScripts_gunzip") let g:GetLatestVimScripts_gunzip= "gunzip" endif @@ -565,73 +570,55 @@ fun! s:GetOneScript(...) " -------------------------------------------------------------------------- " call Decho("checking if plugin requested autoinstall: doautoinstall=".doautoinstall) if doautoinstall -" call Decho(" ") -" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname)) if filereadable(sname) -" call Decho("<".sname."> is readable") -" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)) exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall) let curdir = fnameescape(substitute(getcwd(),'\','/','ge')) let installdir= curdir."/Installed" if !isdirectory(installdir) call mkdir(installdir) endif -" call Decho("curdir<".curdir."> installdir<".installdir.">") -" call Decho("exe cd ".fnameescape(s:autoinstall)) exe "cd ".fnameescape(s:autoinstall) " determine target directory for moves let firstdir= substitute(&rtp,',.*$','','') let pname = substitute(sname,'\..*','.vim','') -" call Decho("determine tgtdir: is <".firstdir.'/AsNeeded/'.pname." readable?") if filereadable(firstdir.'/AsNeeded/'.pname) let tgtdir= "AsNeeded" else let tgtdir= "plugin" endif -" call Decho("tgtdir<".tgtdir."> pname<".pname.">") - + " decompress if sname =~ '\.bz2$' -" call Decho("decompress: attempt to bunzip2 ".sname) exe "sil !".g:GetLatestVimScripts_bunzip2." ".shellescape(sname) let sname= substitute(sname,'\.bz2$','','') -" call Decho("decompress: new sname<".sname."> after bunzip2") + elseif sname =~ '\.bz3$' + exe "sil !".g:GetLatestVimScripts_bunzip3." ".shellescape(sname) + let sname= substitute(sname,'\.bz3$','','') elseif sname =~ '\.gz$' -" call Decho("decompress: attempt to gunzip ".sname) exe "sil !".g:GetLatestVimScripts_gunzip." ".shellescape(sname) let sname= substitute(sname,'\.gz$','','') -" call Decho("decompress: new sname<".sname."> after gunzip") elseif sname =~ '\.xz$' -" call Decho("decompress: attempt to unxz ".sname) exe "sil !".g:GetLatestVimScripts_unxz." ".shellescape(sname) let sname= substitute(sname,'\.xz$','','') -" call Decho("decompress: new sname<".sname."> after unxz") else " call Decho("no decompression needed") endif - + " distribute archive(.zip, .tar, .vba, .vmb, ...) contents if sname =~ '\.zip$' -" call Decho("dearchive: attempt to unzip ".sname) exe "silent !".g:GetLatestVimScripts_unzip." -o ".shellescape(sname) elseif sname =~ '\.tar$' -" call Decho("dearchive: attempt to untar ".sname) exe "silent !tar -xvf ".shellescape(sname) elseif sname =~ '\.tgz$' -" call Decho("dearchive: attempt to untar+gunzip ".sname) exe "silent !tar -zxvf ".shellescape(sname) elseif sname =~ '\.taz$' -" call Decho("dearchive: attempt to untar+uncompress ".sname) exe "silent !tar -Zxvf ".shellescape(sname) elseif sname =~ '\.tbz$' -" call Decho("dearchive: attempt to untar+bunzip2 ".sname) exe "silent !tar -jxvf ".shellescape(sname) elseif sname =~ '\.txz$' -" call Decho("dearchive: attempt to untar+xz ".sname) exe "silent !tar -Jxvf ".shellescape(sname) elseif sname =~ '\.vba$\|\.vmb$' -" call Decho("dearchive: attempt to handle a vimball: ".sname) silent 1split if exists("g:vimball_home") let oldvimballhome= g:vimball_home @@ -648,25 +635,21 @@ fun! s:GetOneScript(...) else " call Decho("no dearchiving needed") endif - + " --------------------------------------------- " move plugin to plugin/ or AsNeeded/ directory " --------------------------------------------- if sname =~ '.vim$' -" call Decho("dearchive: attempt to simply move ".sname." to ".tgtdir) exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir else -" call Decho("dearchive: move <".sname."> to installdir<".installdir.">") exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir endif if tgtdir != "plugin" -" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir) exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir endif - + " helptags step let docdir= substitute(&rtp,',.*','','e')."/doc" -" call Decho("helptags: docdir<".docdir.">") exe "helptags ".fnameescape(docdir) exe "cd ".fnameescape(curdir) endif @@ -681,13 +664,8 @@ fun! s:GetOneScript(...) " update the data in the <GetLatestVimScripts.dat> file call setline(line("."),modline) -" call Decho("update data in ".expand("%")."#".line(".").": modline<".modline.">") -" else " Decho -" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update") endif -" call Dredir("BUFFER TEST (GetOneScript)","ls!") -" call Dret("GetOneScript") endfun " --------------------------------------------------------------------- diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim index 5c4499fa6..ea1525c45 100644 --- a/runtime/autoload/tar.vim +++ b/runtime/autoload/tar.vim @@ -1,9 +1,15 @@ " tar.vim: Handles browsing tarfiles - AUTOLOAD PORTION -" Date: Feb 06, 2025 +" Date: Feb 28, 2025 " Version: 32b (with modifications from the Vim Project) " Maintainer: This runtime file is looking for a new maintainer. " Former Maintainer: Charles E Campbell " License: Vim License (see vim's :help license) +" Last Change: +" 2024 Jan 08 by Vim Project: fix a few problems (#138331, #12637, #8109) +" 2024 Feb 19 by Vim Project: announce adoption +" 2024 Nov 11 by Vim Project: support permissions (#7379) +" 2025 Feb 06 by Vim Project: add support for lz4 (#16591) +" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755) " " Contains many ideas from Michael Toren's <tar.vim> " @@ -161,6 +167,8 @@ fun! tar#Browse(tarfile) if filekind =~ "bzip2" exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " + elseif filekind =~ "bzip3" + exe "sil! r! bzip3 -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." - " elseif filekind =~ "Zstandard" @@ -175,6 +183,8 @@ fun! tar#Browse(tarfile) exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " elseif tarfile =~# '\.\(bz2\|tbz\|tb2\)$' exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " + elseif tarfile =~# '\.\(bz3\|tb3\)$' + exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " elseif tarfile =~# '\.\(lzma\|tlz\)$' exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " elseif tarfile =~# '\.\(xz\|txz\)$' @@ -316,6 +326,9 @@ fun! tar#Read(fname,mode) if fname =~ '\.bz2$' && executable("bzcat") let decmp= "|bzcat" let doro = 1 + elseif fname =~ '\.bz3$' && executable("bz3cat") + let decmp= "|bz3cat" + let doro = 1 elseif fname =~ '\.t\=gz$' && executable("zcat") let decmp= "|zcat" let doro = 1 @@ -334,7 +347,7 @@ fun! tar#Read(fname,mode) else let decmp="" let doro = 0 - if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$' + if fname =~ '\.bz2$\|\.bz3$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$' setlocal bin endif endif @@ -348,6 +361,9 @@ fun! tar#Read(fname,mode) if tarfile =~# '\.bz2$' exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp exe "read ".fname + if tarfile =~# '\.bz3$' + exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp + exe "read ".fname elseif tarfile =~# '\.\(gz\)$' exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp exe "read ".fname @@ -360,6 +376,9 @@ fun! tar#Read(fname,mode) if filekind =~ "bzip2" exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp exe "read ".fname + elseif filekind =~ "bzip3" + exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp + exe "read ".fname elseif filekind =~ "XZ" exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp exe "read ".fname @@ -446,6 +465,10 @@ fun! tar#Write(fname) call system("bzip2 -d -- ".shellescape(tarfile,0)) let tarfile = substitute(tarfile,'\.bz2','','e') let compress= "bzip2 -- ".shellescape(tarfile,0) + elseif tarfile =~# '\.bz3' + call system("bzip3 -d -- ".shellescape(tarfile,0)) + let tarfile = substitute(tarfile,'\.bz3','','e') + let compress= "bzip3 -- ".shellescape(tarfile,0) elseif tarfile =~# '\.gz' call system("gzip -d -- ".shellescape(tarfile,0)) let tarfile = substitute(tarfile,'\.gz','','e') @@ -638,6 +661,15 @@ fun! tar#Extract() echo "***note*** successfully extracted ".fname endif + elseif filereadable(tarbase.".tar.bz3") + let extractcmd= substitute(extractcmd,"-","-j","") + call system(extractcmd." ".shellescape(tarbase).".tar.bz3 ".shellescape(fname)) + if v:shell_error != 0 + echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tar.bz3 ".fname.": failed!" | echohl NONE + else + echo "***note*** successfully extracted ".fname + endif + elseif filereadable(tarbase.".txz") let extractcmd= substitute(extractcmd,"-","-J","") call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname)) diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim index 774b798a8..645698441 100644 --- a/runtime/autoload/vimball.vim +++ b/runtime/autoload/vimball.vim @@ -2,8 +2,10 @@ " Maintainer: This runtime file is looking for a new maintainer. " Original Author: Charles E. Campbell " Date: Apr 11, 2016 -" Version: 37 +" Version: 37 (with modifications from the Vim Project) " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim +" Last Change: +" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755) " Copyright: (c) 2004-2011 by Charles E. Campbell " The VIM LICENSE applies to Vimball.vim, and Vimball.txt " (see |copyright|) except use "Vimball" instead of "Vim". @@ -530,6 +532,26 @@ fun! vimball#Decompress(fname,...) exe "e ".escape(fname,' \') if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif + elseif expand("%") =~ '.*\.bz3' && executable("bunzip3") + " handle *.bz3 with bunzip3 + silent exe "!bunzip3 ".shellescape(a:fname) + if v:shell_error != 0 + call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip3 may have failed with <".a:fname.">") + endif + let fname= substitute(a:fname,'\.bz3$','','') + exe "e ".escape(fname,' \') + if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif + + elseif expand("%") =~ '.*\.bz3' && executable("bzip3") + " handle *.bz3 with bzip3 -d + silent exe "!bzip3 -d ".shellescape(a:fname) + if v:shell_error != 0 + call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip3 -d" may have failed with <'.a:fname.">") + endif + let fname= substitute(a:fname,'\.bz3$','','') + exe "e ".escape(fname,' \') + if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif + elseif expand("%") =~ '.*\.zip' && executable("unzip") " handle *.zip with unzip silent exe "!unzip ".shellescape(a:fname) diff --git a/runtime/doc/pi_getscript.txt b/runtime/doc/pi_getscript.txt index 869314cad..d4f595f8e 100644 --- a/runtime/doc/pi_getscript.txt +++ b/runtime/doc/pi_getscript.txt @@ -1,4 +1,4 @@ -*pi_getscript.txt* For Vim version 9.1. Last change: 2024 Oct 05 +*pi_getscript.txt* For Vim version 9.1. Last change: 2025 Feb 28 > GETSCRIPT REFERENCE MANUAL by Charles E. Campbell < @@ -361,6 +361,11 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim. < default= bunzip2 This variable holds the name of the command to decompress .bz2 files +> + g:GetLatestVimScripts_bunzip3 +< default= bunzip3 + This variable holds the name of the command to decompress .bz3 + files > g:GetLatestVimScripts_gunzip < default= gunzip @@ -409,6 +414,8 @@ The AutoInstall process will: Windows: $HOME imfiles if the downloaded file ends with ".bz2" bunzip2 it + else if the downloaded file ends with ".bz3" + bunzip3 it else if the downloaded file ends with ".gz" gunzip it if the resulting file ends with ".zip" @@ -422,6 +429,7 @@ The AutoInstall process will: ============================================================================== 9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1 +v38 Feb 25, 2025 : * handles additional decompression option for .bzip3 files. v37 Sep 23, 2024 : * Support for the new vimball's .vmb extension (old .vba extension conflicted with visual basic). * Support for |glvs-autoinstall| in ftplugins and packages. diff --git a/runtime/plugin/gzip.vim b/runtime/plugin/gzip.vim index b431b5ba8..9138844e6 100644 --- a/runtime/plugin/gzip.vim +++ b/runtime/plugin/gzip.vim @@ -1,6 +1,6 @@ " Vim plugin for editing compressed files. " Maintainer: The Vim Project <https://github.com/vim/vim> -" Last Change: 2025 Feb 06 +" Last Change: 2025 Feb 28 " Former Maintainer: Bram Moolenaar <b...@vim.org> " Exit quickly when: @@ -20,11 +20,12 @@ augroup gzip " The functions are defined in autoload/gzip.vim. " " Set binary mode before reading the file. - autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo,*.lz4 setlocal bin + autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.bz3,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo,*.lz4 setlocal bin " Use "gzip -d" and similar commands, gunzip isn't always available. autocmd BufReadPost,FileReadPost *.br call gzip#read("brotli -d --rm") autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") + autocmd BufReadPost,FileReadPost *.bz3 call gzip#read("bzip3 -d") autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d") autocmd BufReadPost,FileReadPost *.lz4 call gzip#read("lz4 -d -q --rm") @@ -36,6 +37,7 @@ augroup gzip autocmd BufWritePost,FileWritePost *.br call gzip#write("brotli --rm") autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") + autocmd BufWritePost,FileWritePost *.bz3 call gzip#write("bzip3") autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip") autocmd BufWritePost,FileWritePost *.lz4 call gzip#write("lz4 -q --rm") @@ -47,6 +49,7 @@ augroup gzip autocmd FileAppendPre *.br call gzip#appre("brotli -d --rm") autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") + autocmd FileAppendPre *.bz3 call gzip#appre("bzip3 -d") autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") autocmd FileAppendPre *.lz call gzip#appre("lzip -d") autocmd FileAppendPre *.lz4 call gzip#appre("lz4 -d -q --rm") @@ -58,6 +61,7 @@ augroup gzip autocmd FileAppendPost *.br call gzip#write("brotli --rm") autocmd FileAppendPost *.bz2 call gzip#write("bzip2") + autocmd FileAppendPost *.bz3 call gzip#write("bzip3") autocmd FileAppendPost *.gz call gzip#write("gzip") autocmd FileAppendPost *.lz call gzip#write("lzip") autocmd FileAppendPost *.lz4 call gzip#write("lz4 --rm") diff --git a/runtime/plugin/tarPlugin.vim b/runtime/plugin/tarPlugin.vim index 68d968a92..825b7ae17 100644 --- a/runtime/plugin/tarPlugin.vim +++ b/runtime/plugin/tarPlugin.vim @@ -38,6 +38,7 @@ augroup tar au BufReadCmd *.lrp call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>")) + au BufReadCmd *.tar.bz3 call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.gz call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.lz4 call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.lzma call tar#Browse(expand("<amatch>")) diff --git a/runtime/plugin/vimballPlugin.vim b/runtime/plugin/vimballPlugin.vim index e78805faf..fdae3d5c1 100644 --- a/runtime/plugin/vimballPlugin.vim +++ b/runtime/plugin/vimballPlugin.vim @@ -29,17 +29,17 @@ com! -nargs=0 VimballList call vimball#Vimball(0) com! -nargs=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings() augroup Vimball au! - au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz + au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.bz3,*.vba.zip,*.vba.xz \ if getline(1) =~ '^" Vimball Archiver' | \ setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call vimball#ShowMesg(0, "Source this file to extract it! (:so %)")|endif | \ endif - au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif + au SourceCmd *.vba.gz,*.vba.bz2,*.vba.bz3,*.vba.zip,*.vba.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif au SourceCmd *.vba if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif - au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz + au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.bz3,*.vmb.zip,*.vmb.xz \ if getline(1) =~ '^" Vimball Archiver' | \ setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")|endif | \ endif - au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif + au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.bz3,*.vmb.zip,*.vmb.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif au SourceCmd *.vmb if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif augroup END -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1to3x1-000qrV-Hb%40256bit.org.